1.首先需要引入。參考http://www.treejs.cn/v3/demo.php#_101
<!-- zTree -->
<link rel="stylesheet" href="${BASE_PATH}/acexe/template/front/js/elem/zTree/css/zTreeStyle/zTreeStyle.css?v=${config_front}" type="text/css">
<script type="text/javascript" src="${BASE_PATH}/acexe/template/front/js/elem/zTree/js/jquery.ztree.core-3.5.js?v=${config_front}"></script>
<script type="text/javascript" src="${BASE_PATH}/acexe/template/front/js/elem/zTree/js/jquery.ztree.excheck-3.5.js?v=${config_front}"></script>
2.初始化對象
var zTreeObj;
var setting = {
data: {
key: {
name:"orgname"
},
simpleData: {
enable: true,
idKey:"id",
pIdKey:"parentid"
}
},
check:{
chkboxType:{
"Y" : "ps",
"N" : "ps"
},
chkStyle : "checkbox" ,
enable : true
}
};
$(document).ready(function(){
if(parseInt($('#id').val())>0){
$('#organizationname').unbind('');
}else{
$.post(base_template+ '/alltrace/findOrganizationTreeMgr.jhtml',{},function(data){
if(data.success){
zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, data.data);
}
},'json');
}
});
獲取Ztreev3.5選擇到的node的方法。如果子節點都被 選擇到,那麼只選擇父節點。如果子節點只有部分被選擇,則選擇子節點。
var aims = new Array();
function save() {
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
var nodes = treeObj.getCheckedNodes(true);
getckgrid(nodes);
if(aims.length==0 && parseInt($('#id').val())==0){
oms.tooltip("請選擇經銷商!", "error");
return;
}
}
function getckgrid(objs){
aims = new Array();
var tempaims = new Array();
objs.forEach(function(e,i,arr){
if(e.level!=0){
return true;
}
tempaims.push(e);
});
getchecked(tempaims);
console.log(aims);
}
function getchecked(objs){
objs.forEach(function(e,i,arr){
if(e.isLeaf==true && e.checked==true){
aims.push(e.id);
return true;
}
//沒有子項選擇到
if(e.check_Child_State==0){
return true;
}
//不是頁子節點,並且全部勾選
if(e.isLeaf==false && e.check_Child_State==2){
aims.push(e.id);
return true;
}
//不是頁子節點,並且部分勾選
if(e.isLeaf==false && e.check_Child_State==1){
getchecked(e.children);
return true;
}
});
}