在点击事件里 zTree.expandAll(false); 关闭所有展开的节点就行了。
这么多,===三个等于号是?
回复哦,看的挺仔细啊,呵呵,那个写错了,是两个=
请问有没有异步加载树的简单的例子。可以根据数据库传过来的值,默认选择该节点。
回复你看看官网http://www.ztree.me/v3/main.php#_zTreeInfo
我的代码如下://ztree的设置 var setting = { treeId:"tree", data: { keep: { leaf: false, parent: false }, simpleData: { enable: true, idKey: "id", pIdKey: "PId" } }, callback: { onClick: tree_onClick, beforeExpand: beforeExpand, onExpand: onExpand } }; //只展开一跳路径 var curExpandNode = null; function beforeExpand(treeId, treeNode) { var pNode = curExpandNode ? curExpandNode.getParentNode():null; while (pNode) { if (pNode === treeNode) { break; } pNode = pNode.getParentNode(); } if (!pNode) { singlePath(treeNode); } } function singlePath(newNode) { if (newNode === curExpandNode) return; if (curExpandNode && curExpandNode.open==true) { var zTree = $.fn.zTree.getZTreeObj("tree"); if (newNode.parentTId === curExpandNode.parentTId) { zTree.expandNode(curExpandNode, false, true); } else { var newParents = []; while (newNode) { newNode = newNode.getParentNode(); if (newNode === curExpandNode) { newParents = null; break; } else if (newNode) { newParents.push(newNode); } } if (newParents!=null) { var oldNode = curExpandNode; var oldParents = []; while (oldNode) { oldNode = oldNode.getParentNode(); if (oldNode) { oldParents.push(oldNode); } } if (newParents.length>0) { for (var i = Math.min(newParents.length, oldParents.length)-1; i>=0; i--) { if (newParents[i] !== oldParents[i]) { zTree.expandNode(oldParents[i], false, true); break; } } } else { zTree.expandNode(oldParents[oldParents.length-1], false, true); } } } } curExpandNode = newNode; } function onExpand(event, treeId, treeNode) { curExpandNode = treeNode; }
代码我贴在下面了,你看看
我也遇到同样的问题,请问怎么解决的?
我看了设置了一下,不管用啊,不知道哪里写错了,
你怎么设定的? 把你的数据发出来看看
现在我设置好了,谢谢你
不用客气!
这需要使用自己的规则,参考Demo:http://www.baby666.cn/v3/demo.php#_503
我记得有一open属性吧。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(14)
在点击事件里 zTree.expandAll(false); 关闭所有展开的节点就行了。
这么多,===三个等于号是?
回复
哦,看的挺仔细啊,呵呵,那个写错了,是两个=
请问有没有异步加载树的简单的例子。可以根据数据库传过来的值,默认选择该节点。
回复
你看看官网http://www.ztree.me/v3/main.php#_zTreeInfo
我的代码如下://ztree的设置
var setting = {
treeId:"tree",
data: {
keep: {
leaf: false,
parent: false
},
simpleData: {
enable: true,
idKey: "id",
pIdKey: "PId"
}
},
callback: {
onClick: tree_onClick,
beforeExpand: beforeExpand,
onExpand: onExpand
}
};
//只展开一跳路径
var curExpandNode = null;
function beforeExpand(treeId, treeNode) {
var pNode = curExpandNode ? curExpandNode.getParentNode():null;
while (pNode) {
if (pNode === treeNode) {
break;
}
pNode = pNode.getParentNode();
}
if (!pNode) {
singlePath(treeNode);
}
}
function singlePath(newNode) {
if (newNode === curExpandNode) return;
if (curExpandNode && curExpandNode.open==true) {
var zTree = $.fn.zTree.getZTreeObj("tree");
if (newNode.parentTId === curExpandNode.parentTId) {
zTree.expandNode(curExpandNode, false, true);
} else {
var newParents = [];
while (newNode) {
newNode = newNode.getParentNode();
if (newNode === curExpandNode) {
newParents = null;
break;
} else if (newNode) {
newParents.push(newNode);
}
}
if (newParents!=null) {
var oldNode = curExpandNode;
var oldParents = [];
while (oldNode) {
oldNode = oldNode.getParentNode();
if (oldNode) {
oldParents.push(oldNode);
}
}
if (newParents.length>0) {
for (var i = Math.min(newParents.length, oldParents.length)-1; i>=0; i--) {
if (newParents[i] !== oldParents[i]) {
zTree.expandNode(oldParents[i], false, true);
break;
}
}
} else {
zTree.expandNode(oldParents[oldParents.length-1], false, true);
}
}
}
}
curExpandNode = newNode;
}
function onExpand(event, treeId, treeNode) {
curExpandNode = treeNode;
}
代码我贴在下面了,你看看
我也遇到同样的问题,请问怎么解决的?
我看了设置了一下,不管用啊,不知道哪里写错了,
你怎么设定的? 把你的数据发出来看看
现在我设置好了,谢谢你
不用客气!
这需要使用自己的规则,参考Demo:
http://www.baby666.cn/v3/demo.php#_503
我记得有一open属性吧。