var domId ='jsonToTreeId';
function getTreeObj(){
return $.fn.zTree.getZTreeObj(domId);
};
scope.updata=updata;
var jsonData = scope.data;
function objfn(obj){
return Object.prototype.toString.call(obj).toLocaleLowerCase();
}
function isArray(obj){
return objfn(obj)=='[object array]';
}
function isObject(obj){
return objfn(obj)=='[object object]';
}
function getTreeArray(obj){
var treeNodesArrray = [],count = 10;
createTreeNode(obj,0);
function createTreeNode(obj, pId){
++count;
for(var k in obj){
var params = {
pId: pId,
id: count
};
if(typeof obj[k] != 'object'){
params.name =k+':'+obj[k];
}else{
if(isArray(obj[k])){
params.name = k+':Array['+obj[k].length+']';
}else if(isObject(obj[k])){
params.name = k+':Object';
}else{
params.name = k;
}
if(!$.isEmptyObject(obj[k])){
createTreeNode(obj[k], count);
}
};
treeNodesArrray.push(params);
}
}
return treeNodesArrray;
}
var setting = {
edit: {
enable: true,
showRemoveBtn: false,
showRenameBtn: false
},
data: {
keep: {
parent: true,
leaf: true
},
simpleData: {
enable: true
}
},
callback: {
},
view: {
selectedMulti: false,
showIcon: false
}
};
$.fn.zTree.init(element, setting, getTreeArray(jsonData));
//更新树
function updata(data){
$.fn.zTree.destroy(domId);
$.fn.zTree.init(element.find('li'), setting, getTreeArray(data));
}