ztree异步加载无限循环,求解
ztree吧
全部回复
仅看楼主
level 3
风雪no_yes 楼主
后台传过来的数据是[{id:'1',pId:'0',isParent:true,type:'rtu',name:'test'},{id:'1',pId:'1',type:'tpoint',name:'测量点1'},{id:'2',pId:'1',type:'tpoint',name:'测量点2'},{id:'2',pId:'0',isParent:true,type:'rtu',name:'t'},{id:'3',pId:'2',type:'tpoint',name:'测量点3'}]
但为何父节点都有加号,而且可以无限点击产生一样的子节点
一开始打开是这样
setting里写的是
var setting = {
data: {
simpleData: {
enable: true,
idKey: "id",
pIdKey: "PId"
}
},
edit: {
enable: true
},
async: {
enable: true,
url:webPath+"/rtu/RtuConfig.action?getAllRtu&myRandom=new Date()",
autoParam:["id","name","type"],
dataFilter: filter
},
callback: {
onClick: zTreeOnClick,
onRightClick: OnRightClick
}
};

2012年09月18日 08点09分 1
level 3
后台JSON出错了。我写的一个树是公司部门(groups)和员工(users)。部门会有下属部门,员工属于某一个部门。我就这样生成json。

2012年09月24日 09点09分 2
level 11
呵呵,如果你的后台始终的都生成父节点的数据,那么异步加载肯定就会导致无限循环的结果了呀。。。正常情况是后台要根据前台是哪个父节点从而生成不同的子节点数据的。
2012年09月25日 02点09分 3
level 1
请问楼主解决了没有,如果解决了,可否告知一下解决方法。2楼的那位说的没大看明白
2012年09月26日 07点09分 4
level 3
风雪no_yes 楼主
版主说得很清楚了,谢谢
只要加载的时候只加载父节点,然后在点击的时候异步会把子节点的数据传进来的,这样就不会无限循环了
我原先是一起传,所以不对了
2012年10月29日 06点10分 5
level 4
一起传过来也没关系啊,把zTree.reAsyncChildNodes(nodes[i], type, silent),把type设为refresh,就可以刷新这个节点,就不是在后面追加了。
2012年11月01日 01点11分 6
level 1
我的后台数据是这样的
{"code":"0","rows":[{"clanid":"1","clanname":"test1","object_superior":"","ifhas":"true"},{"clanid":"2","clanname":"test2","object_superior":"","ifhas":"true"}]}
加载的时候能读到两个父节点,通过
async下的url去引导PHP文件,在PHP文件下去读取跨域的URL来获得json数据,最后输出数据在前台
dataFilter获得数据展示出来
问题是我在选择主节点的时候怎么把获得的ID传给URL,变成 XXX?id=1 类似这样的URL来读取新的json数据
还是说我的思路有错?
2012年11月06日 08点11分 7
请你跟踪查看一下 异步加载的 Demo ,看看如何配置 otherParam 和 autoParam 属性时如何使用的
2012年11月07日 13点11分
回复 zTreeAPI :已经解决了,用autoParam传参,谢了, 想问下ztree支持加载的时候执行一个单击事件解决发一个节点展开效果吗?
2012年11月08日 01点11分
回复 lairdutemps : ? 没太看懂,不过 expandNode 方法 是不是对你有用呢?
2012年11月08日 01点11分
1