zTree树形控件异步展开节点,稍后添加代码注释。
当需要根据不同情况勾选不同节点时,可以直接调用
expRec.init(tree,"123456")//123456代表不同的参数
在zTree的OnAsyncSuccess方法,调用loadAllParents以加载所有父节点
onAsyncSuccess : function(event,treeId,treeNode,msg){
expRec.loadAllParents(treeNode);
}
下面是expRec的具体实现:
// JavaScript Document
var expRec = {
url:"",//服务端URL,返回树形数据Json
tree:null,//树实例
allRecIds:[],//所有需要选中的节点Id
allParentIds:[],//所有需要选中的节点的父节点,直至树根
loadedParentIds:[],//已经异步加载过子节点的父节点Id
isParentLoaded:function(id){//检测该节点是否已经加载过子节点
for(var i=0;i<this.loadedParentIds.length;i++){
if(this.loadedParentIds[i] == id){
return true;
break;
}
}
return false;
},
addParentIds:function (pid){//得到所有父节点Id,不重复
var pids = pid.split(",");
for(var j=0;