v3.x中可以禁止lazy加载么?
ztree吧
全部回复
仅看楼主
level 3
因为lazy加载,所以如果节点没打开过,即使父节点全选,子节点也不会自动选中,如下代码,求实现方式:
function changeAllChildNoes(node, status) {
var childNodes = node.children;
if (childNodes) {
for (var i = 0; i < childNodes.length; i++) {
changeCheckbox(childNodes[i], status);
changeAllChildNoes(childNodes[i], status);
}
}
}
2013年05月02日 08点05分 1
level 11
父节点被勾选,子节点没有反应,不是延迟加载导致的,是异步加载导致的。
另外,你的这个需求完全可以看这个Demo:http://www.ztree.me/v3/demo.php#_208
模仿一下,可以轻松实现
2013年05月03日 01点05分 2
谢谢树哥的答复,不过我这个没有使用异步加载,因为ztree是用在表单中的,所以我就直接全部加载了,每个节点都增加了一个checkbox,而没有使用excheck来处理,因为这样submit的时候就不需要额外处理了。
2013年05月03日 05点05分
我现在的实现方法是,初始化的时候默认全部打开,然后使用 expandAll(false),不过感觉不是很地道。
2013年05月03日 05点05分
回复 破名字弄半天 :那你是自己利用 添加自定义控件的方式添加的 checkbox吧,其实真要改换一下思路了, 注重数据模型,而不要注重 dom 控件。你这样表面上是省事儿了,一旦遇到大数据量就歇菜了,会很慢的
2013年05月04日 07点05分
回复 zTreeAPI :是的,用的自定义控件的方式,其实我前面的项目就用的树哥说的那种方式,提交的时候只取了被选的按钮,而不关心其子节点,等数据到了服务端,再根据节点再找出所有的节点,只是后来感觉这样后台逻辑有点不顺畅。
2013年05月04日 08点05分
level 11
因为 zTree 采用了 延迟加载,即不需要显示的节点 就不生成 DOM,需要显示的时候才生成。
同时 zTree 提供了各种搜索节点数据的方法,不明白为何你一定要使用 addDiyDom 去给尚未显示的节点添加 DOM 控件??
2013年05月08日 15点05分 3
又看了一下前面的回复,貌似你又绕回去了,还是想直接 submit 省事儿呀。。。那我没办法了,我觉得你需要更换一下思路,快速遍历节点数据获取对应参数其实也并不复杂呀
2013年05月08日 15点05分
1