子项加载默认选中,怎么让该子项的父项也选中呢
ztree吧
全部回复
仅看楼主
level 1
zuihuayin2010 楼主
2013年05月08日 03点05分 1
level 1
zuihuayin2010 楼主
2013年05月08日 03点05分 2
感觉这个应该很常用啊,谢谢指教
2013年05月08日 03点05分
level 11
你这个应该是初始化时导致的,因为 为了保证初始化数据,所以 zTree 对于初始化节点的 checkbox 状态不做 父子关联操作。 尤其你这种情况, 你觉得加载子节点时,子节点有勾选,那么父节点也要勾选; 但同时会有另一种需求,父节点未勾选,所以后面加载的子节点也不能勾选。。。。
各种需求往往是矛盾的。 但这些对于 zTree 都是可以实现的,只需要根据你的情况,利用 onAsyncSuccess 回调根据子节点的情况,来判断是否需要 勾选父节点即可。 利用 checkNode 方法可以控制父节点是否需要被勾选,以及父子关联的状态; 或者说直接利用 checkNode 方法去重新勾选一个刚加载的并且已经被勾选的子节点也可以。
实现方法有各种各样的,总之选择最适合你的
2013年05月08日 15点05分 3
level 1
费了好大劲儿才搞定,这是个很常见的使用情景,特别是在显示保存结果时候,代码贴上来跟大家共享一下,以此来抛砖引玉。原理是重新将每个节点再次选中一下。不知道谁还有效率更高的方法。
zTreeObj = $.fn.zTree.init($("#myTree"), setting, zNodes);
var nodes = zTreeObj.getCheckedNodes();
for (var i = 0, l = nodes.length; i < l; i++) {
zTreeObj.checkNode(nodes[i], true, true);
}
2013年05月12日 03点05分 4
1. 相同父节点的时候,只勾选一次即可。 2. 如果是 异步加载,那么只需要在 onAsyncSuccess 里面找到一个被钩选的,然后重新勾选一次即可。
2013年05月13日 13点05分
level 1
ztree添加节点的时候可以让这个节点的父节点默认选中吗
2014年09月19日 08点09分 5
不可以, 只能用 checkNode 方法去触发一下
2014年09月22日 06点09分
level 1
此问题我也很愁啊,L主找到方法了没?具体告诉一下呗,谢了。
2014年12月12日 11点12分 6
level 1
你好,你这个问题解决了吗,怎么解决的我现在也遇到了
2018年01月03日 07点01分 7
1