level 1
使用了ztree的异步加载功能,页面展开时只加载父节点,单击父节点时,会异步加载该父节点下的子节点。
看了ztree官网有关异步加载模式下的介绍,‘zTree 完善了异步加载模式下的编辑功能,对于未加载子节点的父节点,增加子节点时,会首先进行异步加载。’仔细操作了,发现添加的子节点是未写入库的,我这儿的情况是,在未展开的父节点上添加子节点时,会出现两个一样的节点,因为,我在我在添加节点前异步把数据写入库了,导致出现两个一样的节点。
试了好多办法都不能避免,请大侠指教!!!
2013年05月22日 05点05分
1
level 11
进行 addNodes 操作时先判断 treeNode.zAsync 属性,如果父节点需要进行异步加载,那么只需要在 ajax 通知后台保存后,执行 expandNode 方法即可。 否则再执行 addNodes 方法。。。是不是 so easy 呢?
2013年05月23日 13点05分
2
ztreedemo的源码在哪看
2015年07月24日 06点07分
level 11
很明显你的 expandNode 方法写错了地方。。。你要在 ajax 的success 回调中执行哟,一定要搞清楚 异步加载的执行过程
2013年05月25日 00点05分
5
level 1
啊,可是当我在未展开的父节点上单机添加子节点的按钮时,那个treeNode.zAsync显示的是false,我无法去那个ajax返回success的时候调expandNode方法。
在我展开父节点后,再添加子节点时,那个treeNode.zAsync属性却显示的是true
2013年05月25日 10点05分
6
level 11
zAsync 是 false 就是表明需要进行异步加载哟, API 里写的很明确。展开以后进行了异步加载,当然就变成 true 了。
你应该是先触发 ajax 请求,这时候节点什么都没有操作,等success 触发时,根据 zAsync 决定是 expandNode 还是 addNodes 不就可以了吗
2013年05月25日 10点05分
7