1.多的不说,发现zTree有一个问题,使用简单数据的时候最底层子节点最左侧会有加号,可能是min.js有问题吧
暂时解决方法如下,初始化树以后遍历子节点,手动的将最底层子节点的isParent改为false,并调用updateNode方法更新,也可以遍历完以后,最后调用treeObj.refresh()更新
var init=function(){
var treeObj = $.fn.zTree.init(tree_obj, treeSetting, area_json);
var nodes = treeObj.getNodes();
var nodesSimple= treeObj.transformToArray(nodes);
$(nodesSimple).each(function(index,node){
if(node.children===undefined||node.children.length<=0){
node.isParent=false;
treeObj.updateNode(node);
}
});
treeObj.expandNode(nodes[0], true, false, true);
};
2.zTree的父节点和子节点选中的状态
如果只有部分子节点被选中了,父节点也会被选中,在通过zTree.getCheckedNodes()方法得到选中节点时,需要要把父节点过滤掉
if(nodes[i].getParentNode()!==null&&nodes[i].getParentNode().getCheckStatus().half===false){
...
}else if(nodes[i].getCheckStatus().half==false){
...
}
主要是通过getCheckStatus().half来判断,如果是处于半选中状态,该值是true,如果是处于全选中状态,该值是false,注意node.halfCheck得到的结果是不准确的