ztree动态渲染子节点
function initZTree(){
var setting = {
view: {
showLine: false,
showIcon: true
},
check : {
/* enable : false,
nocheckInherit : false */
enable: false,
chkStyle: "checkbox",
/*
Y 属性定义 checkbox 被勾选后的情况。
N 属性定义 checkbox 取消勾选后的情况;
"p" 表示操作会影响父级节点;
"s" 表示操作会影响子级节点。
*/
//表示checkbox勾选操作,仅仅影响子节点;取消勾选操作。影响父子节点
chkboxType: { "Y": "ps", "N": "ps" }
},
open: true,
data : {
key : { name: "text"},
simpleData : {
enable : true,
idKey : "id",
pIdKey : "pid",
}
},
callback:{
onClick: onClick,
onExpand : onExpand
}
};
var data = [{id:'1',text:'福建',pid:'',isParent:true},
{id:'2',text:'广东',pid:'',isParent:true},
{id:'3',text:'浙江',pid:'',isParent:true},
{id:'4',text:'陕西',pid:'',isParent:true},
{id:'5',text:'山西',pid:'',isParent:true},
{id:'6',text:'河南',pid:'',isParent:true},
{id:'7',text:'北京',pid:'',isParent:true}
];
$.fn.zTree.init($("#ztree"), setting, data);
}
function onClick(event, treeId, treeNode){
var treeObj = $.fn.zTree.getZTreeObj(treeId);
var node = treeObj.getNodeByTId(treeNode.tId);
/* var sNodes = treeObj.getSelectedNodes();
var level = sNodes[0].level; */
var level = node.level;
alert("id="+node.id+",pid="+node.pid+",level="+level);
}
function onExpand(event, treeId, treeNode){
var treeObj = $.fn.zTree.getZTreeObj(treeId);
var node = treeObj.getNodeByTId(treeNode.tId);
var sNodes = treeObj.getSelectedNodes();
var level = node.level;
var data1 = [{id:node.id+'1',text:'福建',pid:node.id,isParent:true},
{id:node.id+'2',text:'广东',pid:node.id,isParent:true},
{id:node.id+'3',text:'浙江',pid:node.id,isParent:true},
{id:node.id+'4',text:'陕西',pid:node.id,isParent:true},
{id:node.id+'5',text:'山西',pid:node.id,isParent:true},
{id:node.id+'6',text:'河南',pid:node.id,isParent:true},
{id:node.id+'7',text:'北京',pid:node.id,isParent:true}
];
var data2 = [{id:node.id+'1',text:'福建',pid:node.id},
{id:node.id+'2',text:'广东',pid:node.id},
{id:node.id+'3',text:'浙江',pid:node.id},
{id:node.id+'4',text:'陕西',pid:node.id},
{id:node.id+'5',text:'山西',pid:node.id},
{id:node.id+'6',text:'河南',pid:node.id},
{id:node.id+'7',text:'北京',pid:node.id}
];
if(node.children == null || node.children == "undefined"){
if(level == 0){
//添加新节点
newNode = treeObj.addNodes(node, data1);
}else{
//添加新节点
newNode = treeObj.addNodes(node, data2);
}
}
}