├── test.txt
├── my97
├── skin
│ ├── datePicker.gif
│ ├── default
│ │ ├── img.gif
│ │ └── datepicker.css
│ ├── whyGreen
│ │ ├── bg.jpg
│ │ ├── img.gif
│ │ └── datepicker.css
│ └── WdatePicker.css
└── lang
│ ├── en.js
│ ├── zh-cn.js
│ └── zh-tw.js
├── extend
├── themes
│ ├── images
│ │ ├── tree
│ │ │ ├── move_up.png
│ │ │ ├── move_down.png
│ │ │ ├── toggle_collapse.png
│ │ │ └── toggle_expand.png
│ │ ├── datagrid
│ │ │ ├── lock.png
│ │ │ ├── checked.gif
│ │ │ ├── columns.gif
│ │ │ ├── reload_2.png
│ │ │ ├── reload_3.png
│ │ │ ├── reload_4.png
│ │ │ ├── hmenu-asc.gif
│ │ │ ├── hmenu-desc.gif
│ │ │ ├── lock-unlock.png
│ │ │ ├── table-excel.png
│ │ │ ├── unchecked.gif
│ │ │ ├── export_excel.png
│ │ │ └── table_export.png
│ │ └── application_form.png
│ ├── easyui.extend.css
│ └── icon.css
├── other.js
├── jquery.easyui.combogrid.extend.js
├── jquery.easyui.combotree.extend.js
├── jquery.easyui.mask.extend.js
├── jquery.json-2.4.min.js
├── jquery.easyui.patch.js
├── jquery.easyui.validatebox.extend.js
├── jquery.easyui.toolbar.extend.js
└── jquery.easyui.menu.extend.js
├── demo_ext
├── tabs
│ ├── _content3.html
│ ├── _content4.html
│ ├── dispatch.jsp
│ ├── _content5.html
│ ├── basic.html
│ └── mask.html
├── toolbar
│ ├── toolbar_data.json
│ ├── complextoolbar.html
│ └── basic.html
├── datagrid
│ ├── datagrid_data3.json
│ ├── datagrid_data4.json
│ ├── datagrid_data1.json
│ ├── datagrid_data2.json
│ ├── fixnodata.html
│ ├── headercontextmenu.html
│ ├── tooltip.html
│ └── rowcontextmenu.html
├── window
│ ├── dispatch.jsp
│ ├── _content.html
│ ├── datagrid_data1.json
│ ├── _content3.html
│ ├── _content2.html
│ ├── iframe_mask.html
│ ├── dialog_basic.html
│ └── basic.html
├── combobox
│ ├── combobox_data1.json
│ └── combobox_data2.json
├── combo
│ ├── combobox_data1.json
│ ├── autocomplete.html
│ └── basic.html
├── treegrid
│ ├── treegrid_data2.json
│ ├── basic.html
│ ├── treegrid_data1.json
│ ├── expand2.html
│ ├── expand1.html
│ ├── contextmenu.html
│ ├── headercontextmenu.html
│ ├── rowtooltip.html
│ ├── simpledata.html
│ ├── celltooltip.html
│ └── rowediting.html
├── tree
│ ├── tree_data1.json
│ ├── tree_data2.json
│ ├── expand2.html
│ ├── expand1.html
│ ├── onlynodeexpand.html
│ ├── basic.html
│ ├── contextmenu.html
│ ├── simpledata.html
│ ├── expand3.html
│ ├── load_data2.html
│ └── custommenu.html
├── combotree
│ ├── tree_data1.json
│ ├── simpledata.html
│ └── load_data.html
├── index.html
└── panel
│ └── toolbar.html
├── .gitignore
├── README.md
├── change.log
├── syntaxhighlighter
└── scripts
│ ├── shBrushJScript.js
│ └── shBrushXml.js
└── datagridview
└── datagrid-bufferview.js
/test.txt:
--------------------------------------------------------------------------------
1 | Hello World!!
2 |
--------------------------------------------------------------------------------
/my97/skin/datePicker.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/my97/skin/datePicker.gif
--------------------------------------------------------------------------------
/my97/skin/default/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/my97/skin/default/img.gif
--------------------------------------------------------------------------------
/my97/skin/whyGreen/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/my97/skin/whyGreen/bg.jpg
--------------------------------------------------------------------------------
/my97/skin/whyGreen/img.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/my97/skin/whyGreen/img.gif
--------------------------------------------------------------------------------
/extend/themes/images/tree/move_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/tree/move_up.png
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/lock.png
--------------------------------------------------------------------------------
/extend/themes/images/tree/move_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/tree/move_down.png
--------------------------------------------------------------------------------
/extend/themes/images/application_form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/application_form.png
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/checked.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/checked.gif
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/columns.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/columns.gif
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/reload_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/reload_2.png
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/reload_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/reload_3.png
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/reload_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/reload_4.png
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/hmenu-asc.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/hmenu-asc.gif
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/hmenu-desc.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/hmenu-desc.gif
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/lock-unlock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/lock-unlock.png
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/table-excel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/table-excel.png
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/unchecked.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/unchecked.gif
--------------------------------------------------------------------------------
/extend/themes/images/tree/toggle_collapse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/tree/toggle_collapse.png
--------------------------------------------------------------------------------
/extend/themes/images/tree/toggle_expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/tree/toggle_expand.png
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/export_excel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/export_excel.png
--------------------------------------------------------------------------------
/extend/themes/images/datagrid/table_export.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/loafer/jQuery.easyui-extend/HEAD/extend/themes/images/datagrid/table_export.png
--------------------------------------------------------------------------------
/demo_ext/tabs/_content3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 我是通过href加载的.
9 |
10 |
--------------------------------------------------------------------------------
/my97/skin/WdatePicker.css:
--------------------------------------------------------------------------------
1 | .Wdate{
2 | border:#999 1px solid;
3 | height:20px;
4 | background:#fff url(datePicker.gif) no-repeat right;
5 | }
6 |
7 | .WdateFmtErr{
8 | font-weight:bold;
9 | color:red;
10 | }
--------------------------------------------------------------------------------
/demo_ext/tabs/_content4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 我是通过content内容为"url:"形式加载的.
9 |
10 |
--------------------------------------------------------------------------------
/demo_ext/toolbar/toolbar_data.json:
--------------------------------------------------------------------------------
1 | [{
2 | "text": "Edit",
3 | "iconCls": "icon-edit",
4 | "handler": "doSave"
5 | },{
6 | "text": "-"
7 | },{
8 | "text": "Help",
9 | "iconCls": "icon-help",
10 | "disabled": true,
11 | "handler": "doAdd"
12 | }]
--------------------------------------------------------------------------------
/demo_ext/datagrid/datagrid_data3.json:
--------------------------------------------------------------------------------
1 | {"total": 3, "rows":[
2 | {"grade": "三年级","class_name": "一班", "teacher": "Male", "total": 4},
3 | {"grade": "三年级","class_name": "二班", "teacher": "Tom", "total": 4},
4 | {"grade": "三年级","class_name": "三班", "teacher": "Jone", "total": 4}
5 | ]}
--------------------------------------------------------------------------------
/extend/themes/easyui.extend.css:
--------------------------------------------------------------------------------
1 | .datagrid-row-selected-extend{
2 | border: 2px solid #ddd;
3 | }
4 |
5 | .combo-item{
6 | padding: 2px;
7 | font-size: 12px;
8 | padding: 3px;
9 | padding-right: 0px;
10 | }
11 |
12 | .combo-item-hover {
13 | background-color: #e6e6e6;
14 | color: #00438a;
15 | }
--------------------------------------------------------------------------------
/demo_ext/tabs/dispatch.jsp:
--------------------------------------------------------------------------------
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %>
2 | <%
3 | String path = request.getContextPath();
4 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
5 |
6 | Thread.sleep(5000);
7 | response.sendRedirect("_content5.html");
8 | %>
9 |
--------------------------------------------------------------------------------
/demo_ext/window/dispatch.jsp:
--------------------------------------------------------------------------------
1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %>
2 | <%
3 | String path = request.getContextPath();
4 | String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
5 |
6 | Thread.sleep(5000);
7 | response.sendRedirect("_content2.html");
8 | %>
9 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | #忽略jquery.min.js
2 | jquery.min.js
3 |
4 | #忽略index.jsp
5 | index.jsp
6 |
7 | #忽略readme.txt
8 | readme.txt
9 |
10 | #忽略.gitignore
11 | #.gitignore
12 |
13 | jquery.easyui.extend.js
14 |
15 | #忽略demo、locale、plugins、src、themes、tool、WEB-INF目录
16 | demo/
17 | locale/
18 | plugins/
19 | src/
20 | themes/
21 | tool/
22 | WEB-INF/
23 |
24 |
--------------------------------------------------------------------------------
/extend/other.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created with IntelliJ IDEA.
3 | *
4 | */
5 | /**
6 | * 获取元素位置
7 | * @param e dom
8 | * @returns {{left: number, top: number}}
9 | */
10 | function getElementPosition(e){
11 | var x= 0, y=0;
12 | while(e!=null){
13 | x += e.offsetLeft;
14 | y += e.offsetTop;
15 | e = e.offsetParent;
16 | }
17 | return {left: x, top: y};
18 | }
19 |
--------------------------------------------------------------------------------
/extend/jquery.easyui.combogrid.extend.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created with IntelliJ IDEA.
3 | * @author: 爱看书不识字
4 | *
5 | * 扩展如下:
6 | * 1、增加方法 getSelected ,直接返回选中item的data值。
7 | */
8 | (function($){
9 |
10 | $.extend($.fn.combogrid.methods,{
11 | getSelected: function(jq){
12 | return jq.combogrid('grid').datagrid('getSelected');
13 | }
14 | });
15 | })(jQuery);
16 |
--------------------------------------------------------------------------------
/demo_ext/datagrid/datagrid_data4.json:
--------------------------------------------------------------------------------
1 | {"total": 4, "rows":[
2 | {"id": "1", "username": "Tom", "sex": "Male", "age": 12, "brithday": "1987-07-10"},
3 | {"id": "2", "username": "Tom", "sex": "Male", "age": 11, "brithday": "1987-07-10"},
4 | {"id": "3", "username": "Tom", "sex": "Male", "age": 12, "brithday": "1987-07-10"},
5 | {"id": "4", "username": "Jack", "sex": "Male", "age": 11, "brithday": "1987-07-10"}
6 | ]}
--------------------------------------------------------------------------------
/extend/jquery.easyui.combotree.extend.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created with IntelliJ IDEA.
3 | * @author: 爱看书不识字
4 | *
5 | * 扩展如下:
6 | * 1、支持简单数据加载,加载方式参考tree的设置
7 | */
8 | (function($){
9 | $.extend($.fn.combotree.methods, {
10 | followCustomHandle: function(jq){
11 | return jq.each(function(){
12 | // $(this).combotree('tree').tree('followCustomHandle');
13 | // $(this).combo('followCustomHandle');
14 | });
15 | }
16 | });
17 | })(jQuery);
18 |
--------------------------------------------------------------------------------
/demo_ext/combobox/combobox_data1.json:
--------------------------------------------------------------------------------
1 | [{
2 | "id":1,
3 | "text":"Java",
4 | "desc":"Write once, run anywhere"
5 | },{
6 | "id":2,
7 | "text":"C#",
8 | "desc":"One of the programming languages designed for the Common Language Infrastructure"
9 | },{
10 | "id":3,
11 | "text":"Ruby",
12 | "desc":"A dynamic, reflective, general-purpose object-oriented programming language"
13 | },{
14 | "id":4,
15 | "text":"Perl",
16 | "desc":"A high-level, general-purpose, interpreted, dynamic programming language"
17 | },{
18 | "id":5,
19 | "text":"Basic",
20 | "desc":"A family of general-purpose, high-level programming languages"
21 | }]
--------------------------------------------------------------------------------
/demo_ext/tabs/_content5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
12 |
17 |
18 |
19 | 我是通过useiframe=ture并且content内容为"url:"形式加载的。我被放在了iframe中。
20 |
21 |
22 |
--------------------------------------------------------------------------------
/demo_ext/combo/combobox_data1.json:
--------------------------------------------------------------------------------
1 | [{
2 | "id":1,
3 | "text":"Java",
4 | "desc":"Write once, run anywhere"
5 | },{
6 | "id":2,
7 | "text":"C#",
8 | "desc":"One of the programming languages designed for the Common Language Infrastructure"
9 | },{
10 | "id":3,
11 | "text":"Ruby",
12 | "selected":true,
13 | "desc":"A dynamic, reflective, general-purpose object-oriented programming language"
14 | },{
15 | "id":4,
16 | "text":"Perl",
17 | "desc":"A high-level, general-purpose, interpreted, dynamic programming language"
18 | },{
19 | "id":5,
20 | "text":"Basic",
21 | "desc":"A family of general-purpose, high-level programming languages"
22 | }]
--------------------------------------------------------------------------------
/my97/lang/en.js:
--------------------------------------------------------------------------------
1 | var $lang={
2 | errAlertMsg: "Invalid date or the date out of range,redo or not?",
3 | aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
4 | aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
5 | aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
6 | aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"],
7 | clearStr: "Clear",
8 | todayStr: "Today",
9 | okStr: "OK",
10 | updateStr: "OK",
11 | timeStr: "Time",
12 | quickStr: "Quick Selection",
13 | err_1: 'MinDate Cannot be bigger than MaxDate!'
14 | }
--------------------------------------------------------------------------------
/demo_ext/treegrid/treegrid_data2.json:
--------------------------------------------------------------------------------
1 | {"total":7,"rows":[
2 | {"id":1,"name":"All Tasks","begin":"3/4/2010","end":"3/20/2010","progress":60,"icon":"icon-ok"},
3 | {"id":2,"name":"Designing","begin":"3/4/2010","end":"3/10/2010","progress":100,"pid":1,"state":"closed"},
4 | {"id":21,"name":"Database","persons":2,"begin":"3/4/2010","end":"3/6/2010","progress":100,"pid":2},
5 | {"id":22,"name":"UML","persons":1,"begin":"3/7/2010","end":"3/8/2010","progress":100,"pid":2, "icon": "icon-add"},
6 | {"id":23,"name":"Export Document","persons":1,"begin":"3/9/2010","end":"3/10/2010","progress":100,"pid":2},
7 | {"id":3,"name":"Coding","persons":2,"begin":"3/11/2010","end":"3/18/2010","progress":80},
8 | {"id":4,"name":"Testing","persons":1,"begin":"3/19/2010","end":"3/20/2010","progress":20, "pid": 4}
9 | ],"footer":[
10 | {"name":"Total Persons:","persons":7,"iconCls":"icon-sum"}
11 | ]}
12 |
--------------------------------------------------------------------------------
/demo_ext/tree/tree_data1.json:
--------------------------------------------------------------------------------
1 | [
2 | {"id":1,"region":"Wyoming", "_parentId":1},
3 | {"id":11,"region":"Albin","icon":"icon-add","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":1},
4 | {"id":22,"region":"Chehalis","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2},
5 | {"id":23,"region":"Ellensburg","icon":"icon-ok","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2},
6 | {"id":2,"region":"Washington", "_parentId":2},
7 | {"id":21,"region":"Bellingham","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2},
8 | {"id":12,"region":"Canon","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":1},
9 | {"id":13,"region":"Egbert","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":1},
10 | {"id":24,"region":"Monroe","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2}
11 | ]
--------------------------------------------------------------------------------
/demo_ext/combotree/tree_data1.json:
--------------------------------------------------------------------------------
1 | [
2 | {"id":1,"region":"Wyoming", "_parentId":1},
3 | {"id":11,"region":"Albin","icon":"icon-add","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":1},
4 | {"id":22,"region":"Chehalis","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2},
5 | {"id":23,"region":"Ellensburg","icon":"icon-ok","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2},
6 | {"id":2,"region":"Washington", "_parentId":2},
7 | {"id":21,"region":"Bellingham","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2},
8 | {"id":12,"region":"Canon","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":1},
9 | {"id":13,"region":"Egbert","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":1},
10 | {"id":24,"region":"Monroe","f1":2000,"f2":1800,"f3":1903,"f4":2183,"f5":2133,"f6":1923,"f7":2018,"f8":1838,"_parentId":2}
11 | ]
--------------------------------------------------------------------------------
/my97/lang/zh-cn.js:
--------------------------------------------------------------------------------
1 | var $lang={
2 | errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?",
3 | aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],
4 | aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],
5 | aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"],
6 | aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],
7 | clearStr: "\u6E05\u7A7A",
8 | todayStr: "\u4ECA\u5929",
9 | okStr: "\u786E\u5B9A",
10 | updateStr: "\u786E\u5B9A",
11 | timeStr: "\u65F6\u95F4",
12 | quickStr: "\u5FEB\u901F\u9009\u62E9",
13 | err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!'
14 | }
--------------------------------------------------------------------------------
/my97/lang/zh-tw.js:
--------------------------------------------------------------------------------
1 | var $lang={
2 | errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u7BC4\u570D,\u9700\u8981\u64A4\u92B7\u55CE?",
3 | aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],
4 | aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],
5 | aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"],
6 | aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],
7 | clearStr: "\u6E05\u7A7A",
8 | todayStr: "\u4ECA\u5929",
9 | okStr: "\u78BA\u5B9A",
10 | updateStr: "\u78BA\u5B9A",
11 | timeStr: "\u6642\u9593",
12 | quickStr: "\u5FEB\u901F\u9078\u64C7",
13 | err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u65BC\u6700\u5927\u65E5\u671F!'
14 | }
--------------------------------------------------------------------------------
/demo_ext/window/_content.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
19 |
20 |
21 | 打开窗体(定位到顶层)
22 | 打开窗体(定位到顶层)
23 |
24 |
--------------------------------------------------------------------------------
/demo_ext/datagrid/datagrid_data1.json:
--------------------------------------------------------------------------------
1 | {"total":28,"rows":[
2 | {"productid":"FI-SW-01","productname":"Koi","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"},
3 | {"productid":"K9-DL-01","productname":"Dalmation","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"},
4 | {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":38.50,"attr1":"Venomless","itemid":"EST-11"},
5 | {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"},
6 | {"productid":"RP-LI-02","productname":"Iguana","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"},
7 | {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"},
8 | {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"},
9 | {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":23.50,"attr1":"Adult Female","itemid":"EST-16"},
10 | {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"},
11 | {"productid":"AV-CB-01","productname":"Amazon Parrot","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"}
12 | ]}
13 |
--------------------------------------------------------------------------------
/demo_ext/window/datagrid_data1.json:
--------------------------------------------------------------------------------
1 | {"total":28,"rows":[
2 | {"productid":"FI-SW-01","productname":"Koi","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"},
3 | {"productid":"K9-DL-01","productname":"Dalmation","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"},
4 | {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":38.50,"attr1":"Venomless","itemid":"EST-11"},
5 | {"productid":"RP-SN-01","productname":"Rattlesnake","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"},
6 | {"productid":"RP-LI-02","productname":"Iguana","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"},
7 | {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"},
8 | {"productid":"FL-DSH-01","productname":"Manx","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"},
9 | {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":23.50,"attr1":"Adult Female","itemid":"EST-16"},
10 | {"productid":"FL-DLH-02","productname":"Persian","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"},
11 | {"productid":"AV-CB-01","productname":"Amazon Parrot","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"}
12 | ]}
13 |
--------------------------------------------------------------------------------
/demo_ext/combo/autocomplete.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Basic Combo - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/demo_ext/tabs/basic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
18 |
19 |
20 |
21 |
22 | Content
23 |
24 |
load...
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/demo_ext/tree/tree_data2.json:
--------------------------------------------------------------------------------
1 | [{
2 | "id":1,
3 | "text":"My Documents",
4 | "children":[{
5 | "id":11,
6 | "text":"Photos",
7 | "state":"closed",
8 | "children":[{
9 | "id":111,
10 | "text":"Friend",
11 | "state":"closed",
12 | "children":[{
13 | "id": "tom",
14 | "text": "Tom"
15 | },{
16 | "id":"jery",
17 | "text": "Jery"
18 | }]
19 | },{
20 | "id":112,
21 | "text":"Wife"
22 | },{
23 | "id":113,
24 | "text":"Company"
25 | }]
26 | },{
27 | "id":12,
28 | "text":"Program Files",
29 | "state":"closed",
30 | "children":[{
31 | "id":121,
32 | "text":"Intel"
33 | },{
34 | "id":122,
35 | "text":"Java"
36 | },{
37 | "id":123,
38 | "text":"Microsoft Office"
39 | },{
40 | "id":124,
41 | "text":"Games"
42 | }]
43 | },{
44 | "id":16,
45 | "text":"Actions",
46 | "state":"closed",
47 | "children":[{
48 | "id":"add",
49 | "text":"Add",
50 | "iconCls":"icon-add"
51 | },{
52 | "text":"Remove",
53 | "iconCls":"icon-remove"
54 | },{
55 | "text":"Save",
56 | "iconCls":"icon-save"
57 | },{
58 | "text":"Search",
59 | "iconCls":"icon-search"
60 | }]
61 | },{
62 | "id":13,
63 | "text":"index.html"
64 | },{
65 | "id":14,
66 | "text":"about.html"
67 | },{
68 | "id":15,
69 | "text":"welcome.html"
70 | }]
71 | }]
72 |
--------------------------------------------------------------------------------
/demo_ext/treegrid/basic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Basic Treegrid - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/demo_ext/treegrid/treegrid_data1.json:
--------------------------------------------------------------------------------
1 | [{
2 | "id":1,
3 | "name":"C",
4 | "size":"",
5 | "date":"02/19/2010",
6 | "children":[{
7 | "id":2,
8 | "name":"Program Files",
9 | "size":"120 MB",
10 | "date":"03/20/2010",
11 | "children":[{
12 | "id":21,
13 | "name":"Java",
14 | "size":"",
15 | "date":"01/13/2010",
16 | "state":"closed",
17 | "children":[{
18 | "id":211,
19 | "name":"java.exe",
20 | "size":"142 KB",
21 | "date":"01/13/2010"
22 | },{
23 | "id":212,
24 | "name":"jawt.dll",
25 | "size":"5 KB",
26 | "date":"01/13/2010"
27 | }]
28 | },{
29 | "id":22,
30 | "name":"MySQL",
31 | "size":"",
32 | "date":"01/13/2010",
33 | "state":"closed",
34 | "children":[{
35 | "id":221,
36 | "name":"my.ini",
37 | "size":"10 KB",
38 | "date":"02/26/2009"
39 | },{
40 | "id":222,
41 | "name":"my-huge.ini",
42 | "size":"5 KB",
43 | "date":"02/26/2009"
44 | },{
45 | "id":223,
46 | "name":"my-large.ini",
47 | "size":"5 KB",
48 | "date":"02/26/2009"
49 | }]
50 | }]
51 | },{
52 | "id":3,
53 | "name":"eclipse",
54 | "size":"",
55 | "date":"01/20/2010",
56 | "children":[{
57 | "id":31,
58 | "name":"eclipse.exe",
59 | "size":"56 KB",
60 | "date":"05/19/2009"
61 | },{
62 | "id":32,
63 | "name":"eclipse.ini",
64 | "size":"1 KB",
65 | "date":"04/20/2010"
66 | },{
67 | "id":33,
68 | "name":"notice.html",
69 | "size":"7 KB",
70 | "date":"03/17/2005"
71 | }]
72 | }]
73 | }]
--------------------------------------------------------------------------------
/demo_ext/window/_content3.html:
--------------------------------------------------------------------------------
1 |
20 |
37 |
60 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | jQuery.easyui-extend
2 | ====================
3 | 一个基于jquery.easyui-1.3.2+的扩展。将一些常用的、需要重复编码的功能,内置到扩展中,并通过扩展属性实现轻松配置,以减少使用者的代码编写量。
4 | 目前已实现扩展的部分组件如下:
5 |
6 | - panel
7 | - tabs
8 | - menu
9 | - combo
10 | - combobox
11 | - window
12 | - dialog
13 | - datagrid
14 | - tree
15 | - treegrid
16 | - toolbar
17 |
18 |
19 | 快速了解各组件扩展信息,请直接访问在线Demo
20 | 具体了解每个组件的扩展内容及使用方法,请查看extend下相应文件的开头说明。
21 | ~~要使扩展属性生效,必须执行方法followCustomHandle。~~
22 |
23 |
24 | 使用
25 | 首先,在引入jquery.easyui所需要的资源之后,引入如下文件:
26 | ###
27 |
28 |
29 |
30 |
31 |
32 | 然后
33 |
34 |
35 |
36 | ###
37 | $('#cc').combo({
38 | required: true,
39 | editable: false,
40 | customAttr:{
41 | headervalue: '--请选择--'
42 | }
43 | });
44 |
45 |
46 |
47 | 如要查看demo演示,请将所有文件放到jQuery.easyui解压后的根目录中。
48 |
49 |
50 | 更新日志
51 | 关于每次更新内容,请查看change.log文件。
52 |
53 |
54 |
55 | licenses
56 | GPL licenses
57 |
58 |
59 |
60 | 其他
61 |
62 |
63 | 演示地址:http://loafer.sturgeon.mopaas.com/
64 | Blog:http://blog.csdn.net/zjh527
65 |
66 |
67 | 说明
68 |
69 |
70 | -
71 | jquery.easyui-1.3.3默认使用的是jquery-2.0,这个版本已经不再支持IE6、7、8,如使用这几个IE版本的,请自己将jquery替换到jquery v1的最新版本。演示地址已替换更新为jquery-1.10.1,使用IE 6、7、8的已经能正常访问。
72 |
73 | -
74 | 请通过查看 change.log 文件查看每次更新内容。
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/change.log:
--------------------------------------------------------------------------------
1 | 2016-1-31 更新
2 | 1、使用时不再需要显示调用followCustomHandle方法,即可生效扩展属性。
3 | 2013-9-3 更新
4 | 1、$.showWindow 和 $.showModalDialog 在useiframe=true时,对窗体body增加遮罩控制。
5 | 2、easyui.tabs的add方法当useiframe=true时,增加遮罩控制。
6 | 3、toolbar增加url属性,可以通过请求后台数据构建。
7 | 4、增加mask(遮罩)扩展。
8 |
9 | 2013-8-26 更新
10 | 1、tree增加支持类标准数据格式加载,具体看demo或jquery.easyui.tree.extend.js文件开头说明。
11 | 2、修复datagrid在rowediting编辑风格时点击“确定”按钮无法提交问题。
12 | 3、datagrid和treegrid增加getEditingRows方法,用来获取所有正在编辑的行。
13 | 4、修复tabs.add方法,当useiframe=true时, iframe的高度改为100%。
14 | 5、修复当tabs使用iframe时,右键菜单刷新报错问题。
15 | 6、增加combotree对简单数据格式和类标准数据格式的加载,具体参考jquery.easyui.tree.extend.js文件开头说明。
16 | 7、修复datagrid.onConfirmEdit事件默认实现bug。
17 | 8、增加treegrid.onConfirmEdit事件。
18 |
19 |
20 | 2013-8-12 更新
21 | 1、修复combobox在级联操作时,传递的swd参数值为null,而不是选中值。
22 | 2、datagrid的addEventListener 方法增加对事件onExpandRow和onCollapseRow的控制。
23 | 3、tree增加自定义属性 attributes,用于简单数据加载时,指定那些字段当作node的attributes属性使用。
24 | 4、combobox增加 getSelected 方法, 返回选中item的data值。
25 | 5、combogrid增加 getSelected 方法,返回选中item的data值。
26 | 6、datagrid增加 getAllExpandRowIndex 方法,用于在detailView视图下获取当前页已展开行的索引。
27 | 7、datagrid增加 getExpandRowIndex 方法,用于在detailView视图下获取当前页第一个展开行的索引。
28 | 8、datagrid增加 fixDetailRowWidth 方法,用于detailView视图下修改rowDetial中组件宽度。
29 | 9、getAllExpandRowIndex、getExpandRowIndex、fixDetailRowWidth 这三个方法联合使用可解决detailView视图下列拖拽时显示错位问题。
30 | 10、修复datagrid 的rowEditing编辑风格在没有数据的datagrid中增加数据后,再编辑时无法显示的问题。
31 | 11、datagrid增加自定义事件 onConfirmEdit , 用于rowEditing编辑风格点击“确定”按钮时触发。当事件返回false时终止endEdit方法调用。
32 |
33 |
34 | 2013-7-31 更新
35 | 1、$.showWindow、$.showModalDialog 这两个方法增加返回值,返回值指向当前弹出窗的引用。
36 | 2、移除根据$.browser.msie判断浏览器版本。
37 |
38 |
39 | 2013-7-18 更新
40 | 1、menu、datagrid、combo、combobox、panel、tabs、tree、treegrid 增加 addEventListener 方法。
41 | 2、修复menu、datagrid、combo、combobox、panel、tabs、tree、treegrid 因事件注册造成多次重复渲染的问题(包括多次请求后台数据)。
42 | 3、移除datagrid 的rowContextMenu菜单项默认事件替换功能。
43 | 4、删除datagrid rowContextMenu默认菜单中的增加、编辑、导出菜单项。
44 |
--------------------------------------------------------------------------------
/syntaxhighlighter/scripts/shBrushJScript.js:
--------------------------------------------------------------------------------
1 | /**
2 | * SyntaxHighlighter
3 | * http://alexgorbatchev.com/SyntaxHighlighter
4 | *
5 | * SyntaxHighlighter is donationware. If you are using it, please donate.
6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
7 | *
8 | * @version
9 | * 3.0.83 (July 02 2010)
10 | *
11 | * @copyright
12 | * Copyright (C) 2004-2010 Alex Gorbatchev.
13 | *
14 | * @license
15 | * Dual licensed under the MIT and GPL licenses.
16 | */
17 | ;(function()
18 | {
19 | // CommonJS
20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
21 |
22 | function Brush()
23 | {
24 | var keywords = 'break case catch continue ' +
25 | 'default delete do else false ' +
26 | 'for function if in instanceof ' +
27 | 'new null return super switch ' +
28 | 'this throw true try typeof var while with'
29 | ;
30 |
31 | var r = SyntaxHighlighter.regexLib;
32 |
33 | this.regexList = [
34 | { regex: r.multiLineDoubleQuotedString, css: 'string' }, // double quoted strings
35 | { regex: r.multiLineSingleQuotedString, css: 'string' }, // single quoted strings
36 | { regex: r.singleLineCComments, css: 'comments' }, // one line comments
37 | { regex: r.multiLineCComments, css: 'comments' }, // multiline comments
38 | { regex: /\s*#.*/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion
39 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keywords
40 | ];
41 |
42 | this.forHtmlScript(r.scriptScriptTags);
43 | };
44 |
45 | Brush.prototype = new SyntaxHighlighter.Highlighter();
46 | Brush.aliases = ['js', 'jscript', 'javascript'];
47 |
48 | SyntaxHighlighter.brushes.JScript = Brush;
49 |
50 | // CommonJS
51 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
52 | })();
53 |
--------------------------------------------------------------------------------
/extend/themes/icon.css:
--------------------------------------------------------------------------------
1 | .icon-checked{
2 | background:url('images/datagrid/checked.gif') no-repeat center center;
3 | }
4 |
5 | .icon-unchecked{
6 | background:url('images/datagrid/unchecked.gif') no-repeat center center;
7 | }
8 |
9 | .icon-hmenu-asc{
10 | background:url('images/datagrid/hmenu-asc.gif') no-repeat center center;
11 | }
12 |
13 | .icon-hmenu-desc{
14 | background:url('images/datagrid/hmenu-desc.gif') no-repeat center center;
15 | }
16 |
17 | .icon-columns{
18 | background:url('images/datagrid/columns.gif') no-repeat center center;
19 | }
20 |
21 | .icon-export-excel{
22 | background:url('images/datagrid/export_excel.png') no-repeat center center;
23 | }
24 |
25 | .icon-table-excel{
26 | background:url('images/datagrid/table-excel.png') no-repeat center center;
27 | }
28 |
29 | .icon-table-export{
30 | background:url('images/datagrid/table_export.png') no-repeat center center;
31 | }
32 |
33 | .icon-reload2{
34 | background:url('images/datagrid/reload_2.png') no-repeat center center;
35 | }
36 | .icon-reload3{
37 | background:url('images/datagrid/reload_3.png') no-repeat center center;
38 | }
39 | .icon-reload4{
40 | background:url('images/datagrid/reload_4.png') no-repeat center center;
41 | }
42 |
43 | .icon-form{
44 | background:url('images/application_form.png') no-repeat center center;
45 | }
46 | .icon-moveup{
47 | background:url('images/tree/move_up.png') no-repeat center center;
48 | }
49 | .icon-movedown{
50 | background:url('images/tree/move_down.png') no-repeat center center;
51 | }
52 | .icon-collapse{
53 | background:url('images/tree/toggle_collapse.png') no-repeat center center;
54 | }
55 | .icon-expand{
56 | background:url('images/tree/toggle_expand.png') no-repeat center center;
57 | }
58 | .icon-lock{
59 | background:url('images/datagrid/lock.png') no-repeat center center;
60 | }
61 | .icon-unlock{
62 | background:url('images/datagrid/lock-unlock.png') no-repeat center center;
63 | }
--------------------------------------------------------------------------------
/extend/jquery.easyui.mask.extend.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created with IntelliJ IDEA.
3 | * Created with IntelliJ IDEA.
4 | * Licensed under the GPL licenses
5 | * http://www.gnu.org/licenses/gpl.txt
6 | * @author: 爱看书不识字
7 | *
8 | * 扩展说明:
9 | * 1、maskt 显示遮罩
10 | * 1.1 参数说明
11 | * target: 要加载遮罩的目标对象
12 | * loadMsg: 遮罩显示信息
13 | *
14 | *
15 | * 2、unmask 关闭遮罩
16 | * 2.1 参数说明
17 | * target: 要加载遮罩的目标对象
18 | *
19 | */
20 | (function($){
21 | function addCss(id, content){
22 | if($('#' + id).length > 0) return;
23 | return $('').attr('id', id).attr('type', 'text/css').appendTo('head');
24 | }
25 |
26 | $.extend({
27 | mask: function(opts){
28 | opts = opts || {};
29 | var options = $.extend({}, {target: 'body', loadMsg: $.fn.datagrid.defaults.loadMsg}, opts);
30 | this.unmask(options);
31 |
32 | if(options.target != 'body' && $(options.target).css('position') == 'static'){
33 | $(options.target).addClass('mask-relative');
34 | }
35 |
36 | var mask = $("").appendTo(options.target);
37 | var msg = $("").html(options.loadMsg).appendTo(options.target);
38 | setTimeout(function(){
39 | msg.css("marginLeft", -msg.outerWidth() / 2);
40 | }, 5);
41 |
42 | var css = '.mask-relative {position: relative !important;}';
43 | addCss('mask_css', css);
44 | },
45 | unmask: function(options){
46 | var target = options.target || 'body';
47 | $(">div.datagrid-mask-msg", target).remove();
48 | $(">div.datagrid-mask", target).remove();
49 | $(options.target).removeClass('mask-relative');
50 | }
51 | });
52 | })(jQuery);
53 |
--------------------------------------------------------------------------------
/demo_ext/combobox/combobox_data2.json:
--------------------------------------------------------------------------------
1 | [{
2 | "id":"370000",
3 | "text":"山东省",
4 | "data":[{
5 | "id": "370100",
6 | "text": "济南市",
7 | "data":[{
8 | "id": "370102",
9 | "text": "历下区"
10 | },{
11 | "id": "370103",
12 | "text": "市中区"
13 | },{
14 | "id": "370104",
15 | "text": "槐荫区"
16 | }]
17 | },{
18 | "id": "370200",
19 | "text": "青岛市",
20 | "data":[{
21 | "id":"370202",
22 | "text":"市南区"
23 | },{
24 | "id":"370203",
25 | "text":"市北区"
26 | },{
27 | "id":"370205",
28 | "text": "四方区"
29 | }]
30 | }]
31 | },{
32 | "id":"130000",
33 | "text":"河北省",
34 | "data":[{
35 | "id":"130100",
36 | "text":"石家庄市",
37 | "data":[{
38 | "id":"130102",
39 | "text":"长安区"
40 | },{
41 | "id":"130103",
42 | "text":"桥东区"
43 | },{
44 | "id":"130104",
45 | "text":"桥西区"
46 | }]
47 | },{
48 | "id":"131000",
49 | "text":"廊坊市",
50 | "data":[{
51 | "id":"131001",
52 | "text":"市辖区"
53 | },{
54 | "id":"131002",
55 | "text":"安次区"
56 | }]
57 | }]
58 | },{
59 | "id":"440000",
60 | "text":"广东省",
61 | "data":[{
62 | "id":"440100",
63 | "text":"广州市",
64 | "data":[{
65 | "id":"440103",
66 | "text":"荔湾区"
67 | },{
68 | "id":"440105",
69 | "text":"海珠区"
70 | },{
71 | "id":"440106",
72 | "text":"天河区"
73 | }]
74 | },{
75 | "id":"440300",
76 | "text":"深圳市",
77 | "data":[{
78 | "id":"440303",
79 | "text":"罗湖区"
80 | },{
81 | "id":"440304",
82 | "text":"福田区"
83 | },{
84 | "id":"440305",
85 | "text":"南山区"
86 | }]
87 | }]
88 | }]
--------------------------------------------------------------------------------
/syntaxhighlighter/scripts/shBrushXml.js:
--------------------------------------------------------------------------------
1 | /**
2 | * SyntaxHighlighter
3 | * http://alexgorbatchev.com/SyntaxHighlighter
4 | *
5 | * SyntaxHighlighter is donationware. If you are using it, please donate.
6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
7 | *
8 | * @version
9 | * 3.0.83 (July 02 2010)
10 | *
11 | * @copyright
12 | * Copyright (C) 2004-2010 Alex Gorbatchev.
13 | *
14 | * @license
15 | * Dual licensed under the MIT and GPL licenses.
16 | */
17 | ;(function()
18 | {
19 | // CommonJS
20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
21 |
22 | function Brush()
23 | {
24 | function process(match, regexInfo)
25 | {
26 | var constructor = SyntaxHighlighter.Match,
27 | code = match[0],
28 | tag = new XRegExp('(<|<)[\\s\\/\\?]*(?[:\\w-\\.]+)', 'xg').exec(code),
29 | result = []
30 | ;
31 |
32 | if (match.attributes != null)
33 | {
34 | var attributes,
35 | regex = new XRegExp('(? [\\w:\\-\\.]+)' +
36 | '\\s*=\\s*' +
37 | '(? ".*?"|\'.*?\'|\\w+)',
38 | 'xg');
39 |
40 | while ((attributes = regex.exec(code)) != null)
41 | {
42 | result.push(new constructor(attributes.name, match.index + attributes.index, 'color1'));
43 | result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));
44 | }
45 | }
46 |
47 | if (tag != null)
48 | result.push(
49 | new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')
50 | );
51 |
52 | return result;
53 | }
54 |
55 | this.regexList = [
56 | { regex: new XRegExp('(\\<|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\>|>)', 'gm'), css: 'color2' }, //
57 | { regex: SyntaxHighlighter.regexLib.xmlComments, css: 'comments' }, //
58 | { regex: new XRegExp('(<|<)[\\s\\/\\?]*(\\w+)(?.*?)[\\s\\/\\?]*(>|>)', 'sg'), func: process }
59 | ];
60 | };
61 |
62 | Brush.prototype = new SyntaxHighlighter.Highlighter();
63 | Brush.aliases = ['xml', 'xhtml', 'xslt', 'html'];
64 |
65 | SyntaxHighlighter.brushes.Xml = Brush;
66 |
67 | // CommonJS
68 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
69 | })();
70 |
--------------------------------------------------------------------------------
/extend/jquery.json-2.4.min.js:
--------------------------------------------------------------------------------
1 | /*! jQuery JSON plugin 2.4.0 | code.google.com/p/jquery-json */
2 | (function($){'use strict';var escape=/["\\\x00-\x1f\x7f-\x9f]/g,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},hasOwn=Object.prototype.hasOwnProperty;$.toJSON=typeof JSON==='object'&&JSON.stringify?JSON.stringify:function(o){if(o===null){return'null';}
3 | var pairs,k,name,val,type=$.type(o);if(type==='undefined'){return undefined;}
4 | if(type==='number'||type==='boolean'){return String(o);}
5 | if(type==='string'){return $.quoteString(o);}
6 | if(typeof o.toJSON==='function'){return $.toJSON(o.toJSON());}
7 | if(type==='date'){var month=o.getUTCMonth()+1,day=o.getUTCDate(),year=o.getUTCFullYear(),hours=o.getUTCHours(),minutes=o.getUTCMinutes(),seconds=o.getUTCSeconds(),milli=o.getUTCMilliseconds();if(month<10){month='0'+month;}
8 | if(day<10){day='0'+day;}
9 | if(hours<10){hours='0'+hours;}
10 | if(minutes<10){minutes='0'+minutes;}
11 | if(seconds<10){seconds='0'+seconds;}
12 | if(milli<100){milli='0'+milli;}
13 | if(milli<10){milli='0'+milli;}
14 | return'"'+year+'-'+month+'-'+day+'T'+
15 | hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}
16 | pairs=[];if($.isArray(o)){for(k=0;k
4 | */
5 | (function($){
6 | /**
7 | *
8 | * @requires jQuery,EasyUI
9 | *
10 | * 防止panel/window/dialog组件超出浏览器边界
11 | * @param left
12 | * @param top
13 | */
14 | var easyuiPanelOnMove = function(left, top) {
15 | var l = left;
16 | var t = top;
17 | if (l < 1) {
18 | l = 1;
19 | }
20 | if (t < 1) {
21 | t = 1;
22 | }
23 | var width = parseInt($(this).parent().css('width')) + 14;
24 | var height = parseInt($(this).parent().css('height')) + 14;
25 | var right = l + width;
26 | var buttom = t + height;
27 | var browserWidth = $(window).width();
28 | var browserHeight = $(window).height();
29 | if (right > browserWidth) {
30 | l = browserWidth - width;
31 | }
32 | if (buttom > browserHeight) {
33 | t = browserHeight - height;
34 | }
35 | $(this).parent().css({/* 修正面板位置 */
36 | left : l,
37 | top : t
38 | });
39 | };
40 | $.fn.dialog.defaults.onMove = easyuiPanelOnMove;
41 | $.fn.window.defaults.onMove = easyuiPanelOnMove;
42 | $.fn.panel.defaults.onMove = easyuiPanelOnMove;
43 |
44 |
45 | // /**
46 | // * 销毁所有panel下的iframe
47 | // */
48 | // $.fn.panel.defaults = $.extend({},
49 | // $.fn.panel.defaults,
50 | // {
51 | // onBeforeDestroy: function(){
52 | // var frame=$('iframe', this);
53 | // if(frame.length>0){
54 | // frame[0].contentWindow.document.write('');
55 | // frame[0].contentWindow.close();
56 | // frame.remove();
57 | //// if($.browser.msie){
58 | //// CollectGarbage();
59 | //// }
60 | // if(navigator.userAgent.indexOf('MSIE')>0){
61 | // CollectGarbage();
62 | // }
63 | // }
64 | // }
65 | // });
66 |
67 | /**
68 | * 销毁panel和window下的iframe并释放内存
69 | */
70 | var destroyFrameAndFreeTheMemory = function(){
71 | var frame=$('iframe', this);
72 | if(frame.length>0){
73 | frame[0].contentWindow.close();
74 | frame.remove();
75 | if(navigator.userAgent.indexOf('MSIE')>0){
76 | CollectGarbage();
77 | }
78 | }
79 | }
80 |
81 | $.fn.panel.defaults.onBeforeDestroy = destroyFrameAndFreeTheMemory;
82 | $.fn.window.defaults.onBeforeDestroy = destroyFrameAndFreeTheMemory ;
83 | $.fn.dialog.defaults.onBeforeDestroy = destroyFrameAndFreeTheMemory ;
84 |
85 | })(jQuery);
86 |
--------------------------------------------------------------------------------
/demo_ext/window/_content2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
27 |
28 |
56 |
57 |
58 |
81 |
82 |
--------------------------------------------------------------------------------
/demo_ext/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
38 |
39 |
40 |
55 |
56 |
57 | 作者:爱看书不识字
58 |
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/demo_ext/window/iframe_mask.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Basic Window - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
22 |
36 |
37 |
38 |
39 |
40 |
41 |
遮罩演示
42 |
注意此效果只在useiframe=true时起作用
43 |
44 |
45 |
46 |
javascript:
47 |
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/demo_ext/tree/expand2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Basic Tree - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
47 |
48 |
javascript:
49 |
60 |
61 |
html:
62 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/demo_ext/tree/expand1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Basic Tree - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
48 |
49 |
javascript:
50 |
61 |
62 |
html:
63 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/demo_ext/tree/onlynodeexpand.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
同级节点只能展开一个
45 |
46 |
47 |
48 |
javascript:
49 |
61 |
62 |
html:
63 |
69 |
70 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/demo_ext/combo/basic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Basic Combo - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
Combo headervalue演示
45 | Combo:
46 |
47 |
48 |
javascript:
49 |
61 |
62 |
html:
63 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/demo_ext/datagrid/fixnodata.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Fix Bug -- jQUery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
51 |
52 |
53 | 列字段个数过多且无数据加载时,列字段显示不全bug修复
54 |
57 |
58 |
61 |
62 |
--------------------------------------------------------------------------------
/demo_ext/window/dialog_basic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Basic Dialog - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
21 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
Dialog 演示
43 |
44 |
45 |
46 |
47 |
javascript:
48 |
59 |
60 |
html:
61 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/demo_ext/tree/basic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Basic Tree - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
57 |
58 |
javascript:
59 |
78 |
79 |
html:
80 |
87 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/demo_ext/tree/contextmenu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ContextMenu - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
右键菜单及节点位置上移、下移和onAfterMove事件演示
52 |
请点击右键菜单项[位置上移动]、[位置下移动],查看演示效果
53 |
54 |
55 |
56 |
javascript:
57 |
73 |
74 |
html:
75 |
82 |
83 |
84 |
85 |
--------------------------------------------------------------------------------
/demo_ext/combotree/simpledata.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Simple Data - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
25 |
44 |
45 |
46 |
47 |
48 |
简单JSON格式
49 |
与tree相同,注意textField、iconField、parentField、attributes属性的演示。
50 |
51 |
52 |
53 |
javascript:
54 |
71 |
72 |
html:
73 |
78 |
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/demo_ext/tree/simpledata.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Simple Data - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
简单JSON格式
52 |
类似ztree简单JSON格式加载方式,注意textField、iconField、parentField、attributes属性的演示。
53 |
54 |
55 |
56 |
javascript:
57 |
74 |
75 |
html:
76 |
83 |
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/demo_ext/toolbar/complextoolbar.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
22 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
复杂Toolbar演示
44 |
45 |
Add
46 |
47 |
Save
48 |
49 |
50 |
51 |
52 |
53 |
javascript:
54 |
59 |
60 |
html:
61 |
75 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/demo_ext/treegrid/expand2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Treegrid - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
双击节点展开收缩
51 |
请双击treeField属性对应的[name]列,查看效果。
52 |
53 |
54 |
55 |
javascript:
56 |
73 |
74 |
html:
75 |
82 |
83 |
84 |
85 |
86 |
--------------------------------------------------------------------------------
/demo_ext/treegrid/expand1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Treegrid - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
单击节点展开收缩
52 |
请点击treeField属性对应的[name]列,查看效果。
53 |
54 |
55 |
56 |
javascript:
57 |
74 |
75 |
html:
76 |
83 |
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/demo_ext/treegrid/contextmenu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ComtextMenu of Treegrid - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
ContextMenu演示
53 |
54 |
55 |
56 |
javascript:
57 |
76 |
77 |
html:
78 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/demo_ext/tabs/mask.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Add Tab - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
52 |
53 |
54 |
55 |
56 |
add方法遮罩演示
57 |
此效果只有在add方法参数中useiframe=true时,参数属性showMask、loadMsg才生效
58 |
59 |
60 |
65 |
66 |
67 |
javascript:
68 |
87 |
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/demo_ext/treegrid/headercontextmenu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Header ComtextMenu of Treegrid - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
Header ContextMenu 及默认菜单项演示
52 |
53 |
54 |
55 |
javascript:
56 |
76 |
77 |
html:
78 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/demo_ext/treegrid/rowtooltip.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | TreeGrid Tooltip -- jQUery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
Tooltip显示风格之row
54 |
请将鼠标移动到每一行上,查看效果
55 |
56 |
57 |
58 |
javascript:
59 |
79 |
80 |
html:
81 |
88 |
89 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/demo_ext/treegrid/simpledata.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Simple Data of Treegrid - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
简单JSON格式
53 |
类似ztree简单JSON格式加载方式
54 |
55 |
56 |
57 |
javascript:
58 |
77 |
78 |
html:
79 |
86 |
87 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/extend/jquery.easyui.validatebox.extend.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created with IntelliJ IDEA.
3 | * Licensed under the GPL licenses
4 | * http://www.gnu.org/licenses/gpl.txt
5 | * @author: 爱看书不识字
6 | *
7 | *
8 | */
9 | (function($){
10 | function bindEvent(target){
11 | var box = $(target);
12 | var state = $.data(target, "validatebox");
13 |
14 | box.unbind(".validatebox");
15 | if(state.options.novalidate){
16 | return;
17 | }
18 |
19 | box.bind("focus.validatebox", function(){
20 | state.validating = true;
21 | state.value = undefined;
22 | (function(){
23 | if(state.validating){
24 | if(state.value != box.val()){
25 | state.value = box.val();
26 | if(state.timer){
27 | clearTimeout(state.timer);
28 | }
29 | state.timer = setTimeout(function(){
30 | $(target).validatebox("validate");
31 | },state.options.delay);
32 | }else{
33 | repositionTip(target);
34 | }
35 | setTimeout(arguments.callee, 200);
36 | }
37 | })();
38 | }).bind("blur.validatebox",function(){
39 | if(state.timer){
40 | clearTimeout(state.timer);
41 | state.timer = undefined;
42 | }
43 | state.validating = false;
44 | hideTip(target);
45 | }).bind("mouseenter.validatebox",function(){
46 | if(box.hasClass("validatebox-invalid")){
47 | showTip(target);
48 | }
49 | }).bind("mouseleave.validatebox",function(){
50 | if(!state.validating){
51 | hideTip(target);
52 | }
53 | });
54 | }
55 |
56 | function showTip(target){
57 | var state = $.data(target,"validatebox");
58 | var options = state.options;
59 | $(target).tooltip($.extend({}, options.tipOptions, {
60 | content: state.message,
61 | position: options.tipPosition,
62 | deltaX: options.deltaX
63 | })).tooltip("show");
64 | state.tip=true;
65 | }
66 |
67 | function repositionTip(target){
68 | var state = $.data(target,"validatebox");
69 | if(state && state.tip){
70 | $(target).tooltip("reposition");
71 | }
72 | }
73 |
74 | function hideTip(target){
75 | var state = $.data(target,"validatebox");
76 | state.tip = false;
77 | $(target).tooltip("hide");
78 | }
79 |
80 | $.extend($.fn.validatebox.defaults.rules, {
81 | unequal: {
82 | validator: function(value, param){
83 | return value != param;
84 | },
85 | message: $.fn.validatebox.defaults.missingMessage
86 | }
87 | ,minLength: {
88 | validator: function(value, param){
89 | return value.length >= param[0];
90 | }
91 | }
92 | ,equals: {
93 | validator: function(value, param){
94 | if(/^#/.test(param)){
95 | return value == $(param).val();
96 | }else{
97 | return value == param;
98 | }
99 | }
100 | }
101 | ,english:{
102 | validator : function(value) {
103 | return /^[A-Za-z]+$/i.test(value);
104 | }
105 | }
106 | ,code: {
107 | validator : function(value) {
108 | return /^[A-Za-z0-9_\-]+$/i.test(value);
109 | }
110 | }
111 | });
112 |
113 |
114 | if($.fn.validatebox){
115 | $.fn.validatebox.defaults.rules.minLength.message = '请至少输入{0}个字符。';
116 | $.fn.validatebox.defaults.rules.equals.message = '字段不匹配';
117 | $.fn.validatebox.defaults.rules.english.message = '请输入英文字母(大小写不限)';
118 | $.fn.validatebox.defaults.rules.code.message = '请输入英文字母(大小写不限)、数字、_或-';
119 | }
120 |
121 |
122 | // $.fn.validatebox.defaults.rules.minLength.message = '请至少输入{0}个字符。';
123 | // $.fn.validatebox.defaults.rules.equals.message = '字段不匹配';
124 | // $.fn.validatebox.defaults.rules.english.message = '请输入英文字母(大小写不限)';
125 | // $.fn.validatebox.defaults.rules.code.message = '请输入英文字母(大小写不限)、数字、_或-';
126 | })(jQuery);
127 |
--------------------------------------------------------------------------------
/extend/jquery.easyui.toolbar.extend.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Created with IntelliJ IDEA.
3 | * Licensed under the GPL licenses
4 | * http://www.gnu.org/licenses/gpl.txt
5 | * @author: 爱看书不识字
6 | *
7 | *
8 | *
9 | * 扩展说明:
10 | * 1、Toolbar
11 | * 1.1 控制属性
12 | * data: 类型:数组, 数据格式请参考easyui-datagrid和easyui-dialog的toolbar
13 | * buttonPosition: toolbar中按钮位置,其值:left|right
14 | *
15 | * 1.2 显示
16 | * $('#').toolbar({
17 | * data: [{
18 | * text: 'save',
19 | * iconCls: 'icon-save',
20 | * handler: function(){}
21 | * },'-',{
22 | * text: 'delete',
23 | * iconCls: 'icon-delete',
24 | * handler: function(){}
25 | * }]
26 | * });
27 | *
28 | *
29 | */
30 | (function($){
31 | function init(target){
32 | var options = $(target).toolbar('options');
33 | var tb = $(target)
34 | // .addClass('datagrid-toolbar')
35 | // .addClass("panel-header")
36 | .addClass("dialog-toolbar panel-body")
37 | .css({'height': '28px', 'line-height':'24px', overflow: 'hidden'});
38 |
39 | if($.trim(tb.html()).length > 0){
40 | return;
41 | }
42 |
43 | tb.append('');
44 | if(options.buttonPosition == 'right'){
45 | tb.find('table').css('float', 'right');
46 | }
47 |
48 | if(options.data){
49 | addItems(target, options.data);
50 | }else{
51 | options.loader.call(target, function(data){
52 | options.data = data;
53 | addItems(target, options.data);
54 | }, function(){
55 | options.onLoadError.apply(target, arguments);
56 | });
57 | }
58 | }
59 |
60 | function add(target, item){
61 | var tr = $(target).find('tr');
62 | if(typeof item == 'string' && $.trim(item) == '-'){
63 | $(' | ').appendTo(tr);
64 | }else{
65 | if($.trim(item.text) == '-'){
66 | $(' | ').appendTo(tr);
67 | }else{
68 | var td = $(' | ').appendTo(tr);
69 | var button = $("").appendTo(td);
70 | button[0].onclick = eval(item.handler || function () {});
71 | button.linkbutton($.extend({}, item, {plain: true}));
72 | }
73 | }
74 | }
75 |
76 | function addItems(target, items){
77 | if(!$.isArray(items)) return;
78 | for(var i=0; i
6 | *
7 | *
8 | * 扩展如下:
9 | * 1、增加方法appendItems,支持批量添加。
10 | * 2、支持将'-'转化为分割符,类似datagrid.toolbar。
11 | * 3、新增方法 addEventListener,用于初始化之后动态注册事件,支持一个事件可以注册多个处理方法。
12 | * 3.1 参数说明:
13 | * name: 事件名称
14 | * override: 是否覆盖默认事件处理, 值: true|false, 默认:false
15 | * handler: 事件处理方法
16 | *
17 | *
18 | * 3.1 单个事件处理方法注册
19 | * $('#mm').menu('addEventListener', {
20 | * name: 'onClick',
21 | * handler: function(item){}
22 | * });
23 | *
24 | *
25 | * 3.2 多个事件处理方法注册
26 | * $('#mm').menu('addEventListener', [{
27 | * name: 'onClick',
28 | * handler: function(item){}
29 | * },{
30 | * name: 'onShow',
31 | * handler: function(){}
32 | * }]);
33 | *
34 | *
35 | * 3.4 覆盖事件默认处理方法
36 | * $('#mm').menu('addEventListener', {
37 | * name: 'onClick',
38 | * override: true,
39 | * handler: function(item){}
40 | * });
41 | *
42 | *
43 | */
44 | (function($){
45 | function appendItems(target, submenu, parentEl){
46 | if(submenu && $.isArray(submenu)){
47 | $.each(submenu, function(){
48 | var item = this;
49 |
50 | var parent = {};
51 | if(parentEl){
52 | $.extend(parent, {parent: parentEl});
53 | }
54 |
55 | if($.isPlainObject(item)){
56 | $(target).menu('appendItem', $.extend(item, parent));
57 |
58 | if(item.submenu){
59 | var p = $(target).menu('findItem', item.text);
60 | appendItems(target, item.submenu, p.target);
61 | }
62 | }else if(item == '-'){
63 | var el = $(target).menu('appendItem', $.extend({text: item}, parent)).menu('findItem', item).target;
64 | $(el).removeClass('menu-item').addClass('menu-sep').removeAttr('style').empty();
65 | }
66 | });
67 | }
68 | }
69 |
70 | function addEventListener(target, eventName, handler, override){
71 | var options = $(target).menu('options');
72 | var defaultActionEvent = options[eventName];
73 | switch (eventName){
74 | case 'onShow':
75 | if(override){
76 | options[eventName] = handler;
77 | }else{
78 | options[eventName] = function(){
79 | defaultActionEvent.apply(this, arguments);
80 | handler.apply(this, arguments);
81 | }
82 | }
83 | break;
84 | case 'onHide':
85 | if(override){
86 | options[eventName] = handler;
87 | }else{
88 | options[eventName] = function(){
89 | defaultActionEvent.apply(this, arguments);
90 | handler.apply(this, arguments);
91 | }
92 | }
93 | break;
94 | case 'onClick':
95 | if(override){
96 | options[eventName] = handler;
97 | }else{
98 | options[eventName] = function(item){
99 | defaultActionEvent.apply(this, arguments);
100 | handler.apply(this, arguments);
101 | }
102 | }
103 | break;
104 | default :
105 | break;
106 | }
107 | }
108 |
109 |
110 | $.extend($.fn.menu.methods, {
111 | followCustomHandle: function(jq){
112 | return this.each(function(){});
113 | },
114 | appendItems: function(jq, param){
115 | return jq.each(function(){
116 | appendItems(this, param);
117 | });
118 | },
119 | addEventListener: function(jq, param){
120 | return jq.each(function(){
121 | var eventList = $.isArray(param) ? param : [param];
122 | var target = this;
123 | $.each(eventList, function(i, event){
124 | addEventListener(target, event.name, event.handler|| function(){}, event.override);
125 | });
126 | });
127 | }
128 | });
129 | })(jQuery);
130 |
--------------------------------------------------------------------------------
/demo_ext/treegrid/celltooltip.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | TreeGrid Tooltip -- jQUery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
Tooltip显示风格之Cell
56 |
请将鼠标移动到每行记录对应[Name]列或[Date]列,查看显示效果。
57 |
58 |
59 |
60 |
javascript:
61 |
82 |
83 |
html:
84 |
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/demo_ext/toolbar/basic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
Toolbar演示
65 |
静态数据构建
66 |
67 |
68 |
动态数据构建
69 |
70 |
71 |
72 |
javascript:
73 |
97 |
98 |
html:
99 |
109 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/demo_ext/tree/expand3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | expandTo Method of Tree - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
64 |
65 |
javascript:
66 |
87 |
88 |
html:
89 |
99 |
100 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/my97/skin/default/datepicker.css:
--------------------------------------------------------------------------------
1 | /*
2 | * My97 DatePicker 4.8
3 | */
4 |
5 | .WdateDiv{
6 | width:180px;
7 | background-color:#FFFFFF;
8 | border:#bbb 1px solid;
9 | padding:2px;
10 | }
11 |
12 | .WdateDiv2{
13 | width:360px;
14 | }
15 | .WdateDiv *{font-size:9pt;}
16 |
17 | .WdateDiv .NavImg a{
18 | display:block;
19 | cursor:pointer;
20 | height:16px;
21 | width:16px;
22 | }
23 |
24 | .WdateDiv .NavImgll a{
25 | float:left;
26 | background:transparent url(img.gif) no-repeat scroll 0 0;
27 | }
28 | .WdateDiv .NavImgl a{
29 | float:left;
30 | background:transparent url(img.gif) no-repeat scroll -16px 0;
31 | }
32 | .WdateDiv .NavImgr a{
33 | float:right;
34 | background:transparent url(img.gif) no-repeat scroll -32px 0;
35 | }
36 | .WdateDiv .NavImgrr a{
37 | float:right;
38 | background:transparent url(img.gif) no-repeat scroll -48px 0;
39 | }
40 |
41 | .WdateDiv #dpTitle{
42 | height:24px;
43 | margin-bottom:2px;
44 | padding:1px;
45 | }
46 |
47 | .WdateDiv .yminput{
48 | margin-top:2px;
49 | text-align:center;
50 | height:20px;
51 | border:0px;
52 | width:50px;
53 | cursor:pointer;
54 | }
55 |
56 | .WdateDiv .yminputfocus{
57 | margin-top:2px;
58 | text-align:center;
59 | font-weight:bold;
60 | height:20px;
61 | color:blue;
62 | border:#ccc 1px solid;
63 | width:50px;
64 | }
65 |
66 | .WdateDiv .menuSel{
67 | z-index:1;
68 | position:absolute;
69 | background-color:#FFFFFF;
70 | border:#ccc 1px solid;
71 | display:none;
72 | }
73 |
74 | .WdateDiv .menu{
75 | cursor:pointer;
76 | background-color:#fff;
77 | }
78 |
79 | .WdateDiv .menuOn{
80 | cursor:pointer;
81 | background-color:#BEEBEE;
82 | }
83 |
84 | .WdateDiv .invalidMenu{
85 | color:#aaa;
86 | }
87 |
88 | .WdateDiv .YMenu{
89 | margin-top:20px;
90 |
91 | }
92 |
93 | .WdateDiv .MMenu{
94 | margin-top:20px;
95 | *width:62px;
96 | }
97 |
98 | .WdateDiv .hhMenu{
99 | margin-top:-90px;
100 | margin-left:26px;
101 | }
102 |
103 | .WdateDiv .mmMenu{
104 | margin-top:-46px;
105 | margin-left:26px;
106 | }
107 |
108 | .WdateDiv .ssMenu{
109 | margin-top:-24px;
110 | margin-left:26px;
111 | }
112 |
113 | .WdateDiv .Wweek {
114 | text-align:center;
115 | background:#DAF3F5;
116 | border-right:#BDEBEE 1px solid;
117 | }
118 |
119 | .WdateDiv .MTitle{
120 | background-color:#BDEBEE;
121 | }
122 | .WdateDiv .WdayTable2{
123 | border-collapse:collapse;
124 | border:#c5d9e8 1px solid;
125 | }
126 | .WdateDiv .WdayTable2 table{
127 | border:0;
128 | }
129 |
130 | .WdateDiv .WdayTable{
131 | line-height:20px;
132 | border:#c5d9e8 1px solid;
133 | }
134 | .WdateDiv .WdayTable td{
135 | text-align:center;
136 | }
137 |
138 | .WdateDiv .Wday{
139 | cursor:pointer;
140 | }
141 |
142 | .WdateDiv .WdayOn{
143 | cursor:pointer;
144 | background-color:#C0EBEF;
145 | }
146 |
147 | .WdateDiv .Wwday{
148 | cursor:pointer;
149 | color:#FF2F2F;
150 | }
151 |
152 | .WdateDiv .WwdayOn{
153 | cursor:pointer;
154 | color:#000;
155 | background-color:#C0EBEF;
156 | }
157 | .WdateDiv .Wtoday{
158 | cursor:pointer;
159 | color:blue;
160 | }
161 | .WdateDiv .Wselday{
162 | background-color:#A9E4E9;
163 | }
164 | .WdateDiv .WspecialDay{
165 | background-color:#66F4DF;
166 | }
167 |
168 | .WdateDiv .WotherDay{
169 | cursor:pointer;
170 | color:#6A6AFF;
171 | }
172 |
173 | .WdateDiv .WotherDayOn{
174 | cursor:pointer;
175 | background-color:#C0EBEF;
176 | }
177 |
178 | .WdateDiv .WinvalidDay{
179 | color:#aaa;
180 | }
181 |
182 | .WdateDiv #dpTime{
183 | float:left;
184 | margin-top:3px;
185 | margin-right:30px;
186 | }
187 |
188 | .WdateDiv #dpTime #dpTimeStr{
189 | margin-left:1px;
190 | }
191 |
192 | .WdateDiv #dpTime input{
193 | width:18px;
194 | height:20px;
195 | text-align:center;
196 | border:#ccc 1px solid;
197 | }
198 |
199 | .WdateDiv #dpTime .tB{
200 | border-right:0px;
201 | }
202 |
203 | .WdateDiv #dpTime .tE{
204 | border-left:0;
205 | border-right:0;
206 | }
207 |
208 | .WdateDiv #dpTime .tm{
209 | width:7px;
210 | border-left:0;
211 | border-right:0;
212 | }
213 |
214 | .WdateDiv #dpTime #dpTimeUp{
215 | height:10px;
216 | width:13px;
217 | border:0px;
218 | background:url(img.gif) no-repeat -32px -16px;
219 | }
220 |
221 | .WdateDiv #dpTime #dpTimeDown{
222 | height:10px;
223 | width:13px;
224 | border:0px;
225 | background:url(img.gif) no-repeat -48px -16px;
226 | }
227 |
228 | .WdateDiv #dpQS {
229 | float:left;
230 | margin-right:3px;
231 | margin-top:3px;
232 | background:url(img.gif) no-repeat 0px -16px;
233 | width:20px;
234 | height:20px;
235 | cursor:pointer;
236 | }
237 | .WdateDiv #dpControl {
238 | text-align:right;
239 | }
240 | .WdateDiv .dpButton{
241 | height:20px;
242 | width:45px;
243 | border:#ccc 1px solid;
244 | margin-top:2px;
245 | margin-right:1px;
246 | }
--------------------------------------------------------------------------------
/demo_ext/panel/toolbar.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
62 |
63 |
javascript:
64 |
92 |
93 |
html:
94 |
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/datagridview/datagrid-bufferview.js:
--------------------------------------------------------------------------------
1 | var bufferview = $.extend({}, $.fn.datagrid.defaults.view, {
2 | render: function(target, container, frozen){
3 | var state = $.data(target, 'datagrid');
4 | var opts = state.options;
5 | var rows = this.rows || [];
6 | if (!rows.length) {
7 | return;
8 | }
9 | var fields = $(target).datagrid('getColumnFields', frozen);
10 |
11 | if (frozen){
12 | if (!(opts.rownumbers || (opts.frozenColumns && opts.frozenColumns.length))){
13 | return;
14 | }
15 | }
16 |
17 | var index = parseInt(opts.finder.getTr(target,'','last',(frozen?1:2)).attr('datagrid-row-index'))+1 || 0;
18 | var table = [''];
19 | for(var i=0; i');
35 | table.push(this.renderRow.call(this, target, fields, frozen, index, rows[i]));
36 | table.push('');
37 | index++;
38 | }
39 | table.push('
');
40 |
41 | $(container).append(table.join(''));
42 | },
43 |
44 | onBeforeRender: function(target){
45 | var state = $.data(target, 'datagrid');
46 | var opts = state.options;
47 | var dc = state.dc;
48 | var view = this;
49 | this.renderedCount = 0;
50 | this.rows = [];
51 |
52 | // erase the onLoadSuccess event, make sure it can't be triggered
53 | state.onLoadSuccess = opts.onLoadSuccess;
54 | opts.onLoadSuccess = function(){};
55 |
56 | dc.body1.add(dc.body2).empty();
57 | dc.body2.unbind('.datagrid').bind('scroll.datagrid', function(e){
58 | if (state.onLoadSuccess){
59 | opts.onLoadSuccess = state.onLoadSuccess; // restore the onLoadSuccess event
60 | state.onLoadSuccess = undefined;
61 | }
62 | if ($(this).scrollTop() >= getDataHeight()-$(this).height()){
63 | if (this.scrollTimer){
64 | clearTimeout(this.scrollTimer);
65 | }
66 | this.scrollTimer = setTimeout(function(){
67 | view.populate.call(view, target);
68 | while (getDataHeight() < dc.body2.height() && view.renderedCount < state.data.total){
69 | view.populate.call(view, target);
70 | }
71 | }, 50);
72 | }
73 | });
74 |
75 | function getDataHeight(){
76 | var h = 0;
77 | dc.body2.children('table.datagrid-btable').each(function(){
78 | h += $(this).outerHeight();
79 | });
80 | if (!h){
81 | h = view.renderedCount * 25;
82 | }
83 | return h;
84 | }
85 | },
86 |
87 | populate: function(target){
88 | var state = $.data(target, 'datagrid');
89 | var opts = state.options;
90 | var dc = state.dc;
91 | if (this.renderedCount >= state.data.total){return;}
92 | this.rows = state.data.rows.slice(this.renderedCount, this.renderedCount+opts.pageSize);
93 | if (this.rows.length){
94 | this.renderedCount += this.rows.length;
95 | opts.view.render.call(opts.view, target, dc.body2, false);
96 | opts.view.render.call(opts.view, target, dc.body1, true);
97 | opts.onLoadSuccess.call(target, {
98 | total: state.data.total,
99 | rows: this.rows
100 | });
101 | } else {
102 | var param = $.extend({}, opts.queryParams, {
103 | page: Math.floor(this.renderedCount/opts.pageSize)+1,
104 | rows: opts.pageSize
105 | });
106 | if (opts.sortName){
107 | $.extend(param, {
108 | sort: opts.sortName,
109 | order: opts.sortOrder
110 | });
111 | }
112 | if (opts.onBeforeLoad.call(target, param) == false) return;
113 |
114 | $(target).datagrid('loading');
115 | var result = opts.loader.call(target, param, function(data){
116 | $(target).datagrid('loaded');
117 | var data = opts.loadFilter.call(target, data);
118 | state.data.rows = state.data.rows.concat(data.rows);
119 | opts.view.rows = data.rows;
120 | opts.view.renderedCount += data.rows.length;
121 | opts.view.render.call(opts.view, target, dc.body2, false);
122 | opts.view.render.call(opts.view, target, dc.body1, true);
123 | opts.onLoadSuccess.call(target, data);
124 | }, function(){
125 | $(target).datagrid('loaded');
126 | opts.onLoadError.apply(target, arguments);
127 | });
128 | if (result == false){
129 | $(target).datagrid('loaded');
130 | }
131 | }
132 | }
133 | });
134 |
--------------------------------------------------------------------------------
/demo_ext/window/basic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Basic Window - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
21 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
56 |
57 |
javascript:
58 |
69 |
70 |
html:
71 |
81 |
82 |
83 |
84 |
85 |
--------------------------------------------------------------------------------
/demo_ext/datagrid/headercontextmenu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | DataGrid with Header Contextmenu -- jQUery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
Header ContextMenu 及默认菜单项演示
61 |
62 |
63 |
64 |
javascript:
65 |
92 |
93 |
html:
94 |
100 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/demo_ext/tree/load_data2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Simple Data - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
52 |
53 |
54 |
55 |
56 |
类标准格式
57 |
58 | - 所谓“类标准格式”是指与“标准格式”结构相同,不同是属性名。
59 | - 可通过扩展属性idField、textField、childrenField、iconField、attributes向标准格式转化。
60 |
61 |
62 |
63 |
64 |
javascript:
65 |
93 |
94 |
html:
95 |
100 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/demo_ext/datagrid/tooltip.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | DataGrid Tooltip -- jQUery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
22 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
Row Tooltip
61 |
62 |
63 |
64 |
javascript:
65 |
90 |
91 |
html:
92 |
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/my97/skin/whyGreen/datepicker.css:
--------------------------------------------------------------------------------
1 | /*
2 | * My97 DatePicker 4.8 Skin:whyGreen
3 | */
4 | .WdateDiv{
5 | width:180px;
6 | background-color:#fff;
7 | border:#C5E1E4 1px solid;
8 | padding:2px;
9 | }
10 |
11 | .WdateDiv2{
12 | width:360px;
13 | }
14 | .WdateDiv *{font-size:9pt;}
15 |
16 | .WdateDiv .NavImg a{
17 | cursor:pointer;
18 | display:block;
19 | width:16px;
20 | height:16px;
21 | margin-top:1px;
22 | }
23 |
24 | .WdateDiv .NavImgll a{
25 | float:left;
26 | background:url(img.gif) no-repeat;
27 | }
28 | .WdateDiv .NavImgl a{
29 | float:left;
30 | background:url(img.gif) no-repeat -16px 0px;
31 | }
32 | .WdateDiv .NavImgr a{
33 | float:right;
34 | background:url(img.gif) no-repeat -32px 0px;
35 | }
36 | .WdateDiv .NavImgrr a{
37 | float:right;
38 | background:url(img.gif) no-repeat -48px 0px;
39 | }
40 |
41 | .WdateDiv #dpTitle{
42 | height:24px;
43 | padding:1px;
44 | border:#c5d9e8 1px solid;
45 | background:url(bg.jpg);
46 | margin-bottom:2px;
47 | }
48 |
49 | .WdateDiv .yminput{
50 | margin-top:2px;
51 | text-align:center;
52 | border:0px;
53 | height:20px;
54 | width:50px;
55 | color:#034c50;
56 | background-color:transparent;
57 | cursor:pointer;
58 | }
59 |
60 | .WdateDiv .yminputfocus{
61 | margin-top:2px;
62 | text-align:center;
63 | border:#939393 1px solid;
64 | font-weight:bold;
65 | color:#034c50;
66 | height:20px;
67 | width:50px;
68 | }
69 |
70 | .WdateDiv .menuSel{
71 | z-index:1;
72 | position:absolute;
73 | background-color:#FFFFFF;
74 | border:#A3C6C8 1px solid;
75 | display:none;
76 | }
77 |
78 | .WdateDiv .menu{
79 | cursor:pointer;
80 | background-color:#fff;
81 | color:#11777C;
82 | }
83 |
84 | .WdateDiv .menuOn{
85 | cursor:pointer;
86 | background-color:#BEEBEE;
87 | }
88 |
89 | .WdateDiv .invalidMenu{
90 | color:#aaa;
91 | }
92 |
93 | .WdateDiv .YMenu{
94 | margin-top:20px;
95 | }
96 |
97 | .WdateDiv .MMenu{
98 | margin-top:20px;
99 | *width:62px;
100 | }
101 |
102 | .WdateDiv .hhMenu{
103 | margin-top:-90px;
104 | margin-left:26px;
105 | }
106 |
107 | .WdateDiv .mmMenu{
108 | margin-top:-46px;
109 | margin-left:26px;
110 | }
111 |
112 | .WdateDiv .ssMenu{
113 | margin-top:-24px;
114 | margin-left:26px;
115 | }
116 |
117 | .WdateDiv .Wweek {
118 | text-align:center;
119 | background:#DAF3F5;
120 | border-right:#BDEBEE 1px solid;
121 | }
122 |
123 | .WdateDiv .MTitle{
124 | color:#13777e;
125 | background-color:#bdebee;
126 | }
127 | .WdateDiv .WdayTable2{
128 | border-collapse:collapse;
129 | border:#BEE9F0 1px solid;
130 | }
131 | .WdateDiv .WdayTable2 table{
132 | border:0;
133 | }
134 |
135 | .WdateDiv .WdayTable{
136 | line-height:20px;
137 | color:#13777e;
138 | background-color:#edfbfb;
139 | border:#BEE9F0 1px solid;
140 | }
141 | .WdateDiv .WdayTable td{
142 | text-align:center;
143 | }
144 |
145 | .WdateDiv .Wday{
146 | cursor:pointer;
147 | }
148 |
149 | .WdateDiv .WdayOn{
150 | cursor:pointer;
151 | background-color:#74d2d9 ;
152 | }
153 |
154 | .WdateDiv .Wwday{
155 | cursor:pointer;
156 | color:#ab1e1e;
157 | }
158 |
159 | .WdateDiv .WwdayOn{
160 | cursor:pointer;
161 | background-color:#74d2d9;
162 | }
163 | .WdateDiv .Wtoday{
164 | cursor:pointer;
165 | color:blue;
166 | }
167 | .WdateDiv .Wselday{
168 | background-color:#A7E2E7;
169 | }
170 | .WdateDiv .WspecialDay{
171 | background-color:#66F4DF;
172 | }
173 |
174 | .WdateDiv .WotherDay{
175 | cursor:pointer;
176 | color:#0099CC;
177 | }
178 |
179 | .WdateDiv .WotherDayOn{
180 | cursor:pointer;
181 | background-color:#C0EBEF;
182 | }
183 |
184 | .WdateDiv .WinvalidDay{
185 | color:#aaa;
186 | }
187 |
188 | .WdateDiv #dpTime{
189 | float:left;
190 | margin-top:3px;
191 | margin-right:30px;
192 | }
193 |
194 | .WdateDiv #dpTime #dpTimeStr{
195 | margin-left:1px;
196 | color:#497F7F;
197 | }
198 |
199 | .WdateDiv #dpTime input{
200 | height:20px;
201 | width:18px;
202 | text-align:center;
203 | color:#333;
204 | border:#61CAD0 1px solid;
205 | }
206 |
207 | .WdateDiv #dpTime .tB{
208 | border-right:0px;
209 | }
210 |
211 | .WdateDiv #dpTime .tE{
212 | border-left:0;
213 | border-right:0;
214 | }
215 |
216 | .WdateDiv #dpTime .tm{
217 | width:7px;
218 | border-left:0;
219 | border-right:0;
220 | }
221 |
222 | .WdateDiv #dpTime #dpTimeUp{
223 | height:10px;
224 | width:13px;
225 | border:0px;
226 | background:url(img.gif) no-repeat -32px -16px;
227 | }
228 |
229 | .WdateDiv #dpTime #dpTimeDown{
230 | height:10px;
231 | width:13px;
232 | border:0px;
233 | background:url(img.gif) no-repeat -48px -16px;
234 | }
235 |
236 | .WdateDiv #dpQS {
237 | float:left;
238 | margin-right:3px;
239 | margin-top:3px;
240 | background:url(img.gif) no-repeat 0px -16px;
241 | width:20px;
242 | height:20px;
243 | cursor:pointer;
244 | }
245 | .WdateDiv #dpControl {
246 | text-align:right;
247 | margin-top:3px;
248 | }
249 | .WdateDiv .dpButton{
250 | height:20px;
251 | width:45px;
252 | margin-top:2px;
253 | border:#38B1B9 1px solid;
254 | background-color:#CFEBEE;
255 | color:#08575B;
256 | }
--------------------------------------------------------------------------------
/demo_ext/datagrid/rowcontextmenu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | DataGrid with Row ContextMenu -- jQUery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
Row ContextMenu 及默认菜单项演示
59 |
60 |
61 |
62 |
javascript:
63 |
89 |
90 |
html:
91 |
97 |
98 |
99 |
100 |
--------------------------------------------------------------------------------
/demo_ext/combotree/load_data.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Simple Data - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
25 |
55 |
56 |
57 |
58 |
59 |
类标准格式
60 |
61 | - 所谓“类标准格式”是指与“标准格式”结构相同,不同是属性名。
62 | - 可通过扩展属性idField、textField、childrenField、iconField、attributes向标准格式转化。
63 |
64 |
65 |
66 |
67 |
javascript:
68 |
96 |
97 |
html:
98 |
103 |
104 |
105 |
106 |
--------------------------------------------------------------------------------
/demo_ext/treegrid/rowediting.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | RowEditing Treegrid - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
26 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
仿Ext.grid RowEditing风格
62 |
点击任一行,进入编辑模式
63 |
64 |
65 |
66 |
javascript:
67 |
93 |
94 |
html:
95 |
102 |
103 |
104 |
105 |
106 |
107 |
--------------------------------------------------------------------------------
/demo_ext/tree/custommenu.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Custom ContextMenu - jQuery EasyUI Demo
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
自定义右键菜单
65 |
请点击自定义菜单项[others]下的[item1]、[item2]项,查看菜单项点击事件处理。
66 |
67 |
68 |
69 |
javascript:
70 |
101 |
102 |
html:
103 |
110 |
111 |
112 |
113 |
--------------------------------------------------------------------------------