zTree_v3
zTree_v3 copied to clipboard
结点展开、勾选均无反应
我构建了两棵树,第二棵树是根据第一棵树构造的,第一棵树正常,但是第二颗树不能展开、收缩、勾选、取消勾选。我在Firefox中调了一下,对于勾选状态,设置断点时能看到勾选状态有改变,断点取消状态没有改变,不知道这是为什么? var zTree = $.fn.zTree.getZTreeObj("treeDemo"); var zQueryTreeNodes = new Array();
var zArray = zTree.getNodes();
var treeNodeObj;
for (var i = 1; i < zArray.length; i++) {
treeNodeObj = "";
treeNodeObj = { id: zArray[i].id, pId: 0, isParent: true, name: zArray[i].name, icon: "img/gdb/mapDoc.png", open: true, checked: zArray[i].checked, collapse: true, expand: false };
zQueryTreeNodes.push(treeNodeObj);
if (zArray[i].children.length > 0) {
var zArrayChild = zArray[i].children;
for (var j = 0; j < zArrayChild.length; j++) {
treeNodeObj = "";
treeNodeObj = { id: zArrayChild[j].id, pId: zArrayChild[j].pId, isParent: false, name: zArrayChild[j].name, icon: "img/gdb/mapDoc.png", checked: zArrayChild[j].checked, doCheck: true };
zQueryTreeNodes.push(treeNodeObj);
}
}
}
//
var settings = {
check: {
enable: true
},
data: {
simpleData: {
enable: true,
rootPId: 0
}
},
callback: {
onCheck: function (srcEvent, treeId, node) {
},
onClick:function (event, treeId, treeNode) {
alert("haha");
var treeObj = $.fn.zTree.getZTreeObj("queryTree");
var nodes = treeObj.getSelectedNodes();
treeObj.expandNode(nodes[0], true, true, true);
},
onExpand: function (event, treeId, treeNode) {
var treeObj = $.fn.zTree.getZTreeObj("queryTree");
treeObj.expandNode(treeNode);
treeObj.expandAll(false);
},
beforeCheck: function (treeId, treeNode) {
alert("1");
return true;
}
}
};
var zQueryTree =$.fn.zTree.init($("#queryTree"), settings, zQueryTreeNodes);
你为何要在 onExpand 里面又去执行 expandNode???? onExpand 回调本身就是在展开后触发,然后你有执行 expandNode方法,这样就又折叠上了。
对于 check 的问题,请对照 Demo 检查一下吧,看看是否有什么js 报错