zTree 是一個依靠 jQuery 實現的多功能 “樹插件”。優異的性能、靈活的配置、多種功能的組合是 zTree 最大優點。
具體使用可查看參考網站: http://www.treejs.cn/v3/demo.php#_101 里面有demo說明和api文檔 (http://www.treejs.cn/v3/api.php)
使用前需引入js文件
<script src="${ctx}/baseui/js/jquery.ztree-override.js"></script>
加載數據 tree = $("#ztree").tree(setting);
setting 為獲取數據來源,具體見下面示例

1 function loadTree(){ 2 var platIndexCode = $('#platIndexCode').val(); 3 var setting = { 4 ajax : { 5 url : "${ctx}/web/module/caseplan/case/statistics/showOrganizationTree.action?platIndexCode="+platIndexCode, 6 success : function() { 7 expand(tree.getNodes()); 8 } 9 }, 10 callback : {}, 11 check : { 12 enable : true 13 } 14 }; 15 setting.check.chkboxType = { "Y" : "ps", "N" : "ps" }; 16 //只展開type為1的 17 function expand(nodes){ 18 if(nodes){ 19 for(var i=0;i<nodes.length;i++){ 20 var node = nodes[i]; 21 if(!node.extra.type){ 22 tree.expandNode(node,false,false,false,true); 23 expand(node.children); 24 }else{ 25 if(node.extra.type == 1){ 26 if(!checkChildType(node.children)){ 27 tree.expandNode(node,false,false,false,true); 28 expand(node.children); 29 } 30 }else{ 31 break; 32 } 33 } 34 } 35 } 36 } 37 38 function checkChildType(nodes){ 39 if(nodes){ 40 for(var i=0;i<nodes.length;i++){ 41 if(nodes[i].extra.type != 1){ 42 return true; 43 } 44 } 45 return false 46 } 47 return true; 48 } 49 tree = $("#ztree").tree(setting); 50 }
loadTree()函數即為加載樹
其中屬性:chkboxType 屬性為復選框父子是否關聯設置,具體見官方demo。
- setting.check.chkboxType = { "Y" : "ps", "N" : "ps" };
其中:expandNode 屬性為節點收縮和展開屬性設置,具體見app文檔,描述非常詳細
tree.expandNode(node,false,false,false,true);
官網API
http://www.treejs.cn/v3/api.php