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 });