ztree在artdialog中加载,并默认选中及展开相应节点

 1 var zNodes;
 2         $("#department").click(function () {
 3             var obj = $(this);
 4             //加载后,根据默认选中值设置文字
 5             var arr = [];
 6             var obm = obj.find("span");
 7             if (obm.length > 0) {
 8                 for (var i = 0; i < obm.length; i++) {
 9                     arr.push(obm.eq(i).attr("data-id"));
10                 }
11             }
12             layer.load(5);
13             $.ajax({
14                 dataType:"json",
15                 url:"/sysadmin/depart/GetDataForTree",
16                 data:{isLoadAll: false},
17                 complete:function(xtr,status){layer.closeAll("loading");},
18                 success:function(json){
19                     if(json.Err==1){
20                         art.dialog({title:"错误",content:json.Msg,lock:true,icon:"error"});
21                     }else{
22                         art.dialog({
23                             title:"设置部门",
24                             content:"<div><ul id=\"ztree\" class=\"ztree\"></ul></div>",
25                             lock: true,
26                             cancel:true,
27                             ok:function(){
28                                 var ztree = $.fn.zTree.getZTreeObj("ztree");
29                                 var nodes = ztree.getCheckedNodes();
30                                 var sarr = [];
31                                 for (var i = 0; i < nodes.length; i++) {
32                                     sarr.push("<span data-id=\"" + nodes[i].DepartId + "\">" + nodes[i].DepartName + "</span>");
33                                 }
34                                 obj.html(sarr.join(";"));
35                             },
36                             init: function () {
37                                 /*初始化ztree begin*/
38                                 this.zNodes = json.Data;
39                                 var setting = {
40                                     view: {
41                                         showIcon: false,
42                                         dblClickExpand: false,
43                                         selectedMulti: true//多选
44                                     },
45                                     check: {
46                                         enable: true,
47                                         nocheckInherit: true,
48                                         //chkStyle: "checkbox",
49                                         chkboxType: { "Y": "", "N": "" }
50                                     },
51                                     key: {
52                                         name: "DepartName",
53                                         id: "DepartId"
54                                     },
55                                     data: {
56                                         simpleData: {
57                                             enable: true,
58                                             idKey: "DepartId",
59                                             pIdKey: "ParentId"
60                                         },
61                                         key: {
62                                             name: "DepartName"
63                                         }
64                                     },
65                                     callback: {
66                                         onMouseDown: function (event, treeId, treeNode) { },
67                                         onClick: function (event, treeId, treeNode) { }
68                                     }
69                                 };
70                                 $.fn.zTree.init($("#ztree"), setting, this.zNodes);
71                                 /*初始化ztree end*/
72                                 
73                                 var ztree = $.fn.zTree.getZTreeObj("ztree");
74                                 /*默认打开一级树 begin*/
75                                 var openTreeNode = ztree.getNodeByParam("DepartId", 1);
76                                 if (openTreeNode != undefined) {
77                                     ztree.expandNode(openTreeNode,true);
78                                 }
79                                 /*默认打开一级树 end*/
80                                 if (arr.length > 0) {
81                                     for (var i = 0; i < arr.length; i++) {
82                                         for (var j = 0; j < this.zNodes.length; j++) {
83                                             if (this.zNodes[j].DepartId == parseInt(arr[i])) {
84                                                 //设置勾选
85                                                 var ckedNode = ztree.getNodeByParam("DepartId", arr[i]);
86                                                 ztree.checkNode(ckedNode, true);
87                                                 //默认展开选中项的父结点
88                                                 ztree.expandNode(ckedNode.getParentNode(), true);
89                                                 break;
90                                             }
91                                         }
92                                     }
93                                 }
94                             }
95                         });
96                     }
97                 }
98             });
99         });

 

posted on 2017-03-27 15:18  ymworkroom  阅读(587)  评论(0编辑  收藏  举报