关于异步加载返回数据的问题
ztree吧
全部回复
仅看楼主
level 1
dfdsf561 楼主
代码
var setting = {
data: {
simpleData: {
enable: true
}
},async: {
enable: true,
url:"${contextPath}/qp/queryMtlKindProduct.do",
autoParam:["id=mtlId","pId"],
otherParam:{"otherParam":"zTreeAsyncTest"},
dataFilter: filter
}
};
function filter(treeId, parentNode, childNodes) {
if (!childNodes) return null;
for (var i=0, l=childNodes.length; i<l; i++) {
}
return childNodes;
};
$(document).ready(function(){
$.fn.zTree.init($("#tree"), setting);
});
初始化的时候显示
得到数据没问题。 但是当我点击取得他的子节点的时候childNodes就有问题了。
后台得到数据是没问题
[{id:21329,pId:21328,name:"奥迪A3"},{id:21330,pId:21328,name:"奥迪A4"},{id:21331,pId:21328,name:"奥迪A4L"},{id:21332,pId:21328,name:"奥迪A5/S5(双门轿跑)"},{id:21333,pId:21328,name:"奥迪A5/S5(四门轿跑)"},{id:21334,pId:21328,name:"奥迪A6"},{id:21335,pId:21328,name:"奥迪A6L"},{id:21336,pId:21328,name:"奥迪A8L"},{id:21337,pId:21328,name:"11款奥迪A8L"},{id:21338,pId:21328,name:"奥迪Q5"},{id:21339,pId:21328,name:"奥迪Q7(5座)"},{id:21340,pId:21328,name:"奥迪Q7第三排(7座)"},{id:21341,pId:21328,name:"奥迪S8"},{id:21342,pId:21328,name:"奥迪TT/TTS(2座)"},{id:21343,pId:21328,name:"奥迪TT/TTS(4座)"},{id:21344,pId:21328,name:"奥迪A1"},{id:21345,pId:21328,name:"奥迪A7"},{id:21346,pId:21328,name:"12款奥迪A6L(2.0/2.5)"},{id:21347,pId:21328,name:"12款奥迪A6L(2.8/3.0)"},{id:21348,pId:21328,name:"奥迪Q7第三排(6座)"},{id:21349,pId:21328,name:"奥迪Q3"}
childNodes返回的是一个页面。而且我发现和数据量的大小有关。 数据几百条的时候就没问题,数据类似上面的时候就得不到。
求解。
2013年04月02日 03点04分 1
level 1
dfdsf561 楼主
349,pId:21328,name:"奥迪Q3"}这里是少复制了一个 ] 后台转换的是有的。
2013年04月02日 04点04分 2
level 11
传给后台的时候要注意过滤一下,把多余的属性都删除,例如 function 的属性 或 children 这个属性, children 还继续保存了所有子孙节点的关系。。。
建议你直接模仿 clone 的方法,做一个新的clone 方法,复制时,至保留你后台需要的属性,这样就行了
2013年04月07日 03点04分 3
1