今天学习了一个关于zTree控制的显示部门及部门里面的成员,如果部门里面没有成员或部门里面的子机构里没有成员,直接隐藏当前部门及部门下的所有机构和成员。
代码如下,详细备注见代码:
注意,此方法需要引用:
<script type="text/javascript" src="resource/plugin/ztree/js/jquery.ztree.exhide-3.5.min.js"></script>
$(document).ready(function(){
//从后台获得数据data
$.getJSON("group/queryDeptUser.action",function(data){
zTreeObj = $.fn.zTree.init($("#treeDemo"),setting,data);
//通过transformToArray方法将zTreeObj.getNodes()转成数组
var nodes = zTreeObj.transformToArray(zTreeObj.getNodes());
for(var k in nodes){//遍历nodes
if(nodes[k].ISPERSON != 'true'){//如果没有人
var kids = zTreeObj.transformToArray(nodes[k].children);//将子节点获取
var amount = 0;//定义一个数量
for(var i in kids){//遍历子节点
if(kids[i].ISPERSON == 'true'){//如果子节点里面有人,计数量为1
amount++;
}
}
if(amount == 0){//如果amount==0,隐藏当前节点。
zTreeObj.hideNode(nodes[k]);
}
}
}
addForm = $("#formId").Validform({tiptype:2});
});
if (navigator.userAgent.toLowerCase().indexOf('firefox') >= 0){
$("#menuContent").perfectScrollbar();
$("#peersDiv").perfectScrollbar();
}
});