代码:
var setting = { async: { enable: true, url: "BDSys_List.ashx?&action=userTree", asyncParam: ["id", "pId", "name"], //异步调用时传到后台的参数 otherParam: { "otherParam": "zTreeAsyncTest" }, dataFilter: filter } }; function filter(treeId, parentNode, childNodes) { for (var i = 0; i < childNodes.Rows.length; i++) { childNodes.Rows[0]['open'] = true; childNodes.Rows[i]['id'] = i; childNodes.Rows[i]['pId'] = 0; childNodes.Rows[i]['name'] = childNodes.Rows[i]['DeviceID']; } return childNodes.Rows; }
$(function () { $.fn.zTree.init($("#userTree"), setting); });
首次的时候就加载了列表 在点击节点的时候 就没有提交请求了 我在服务器打了断点 只有第一次进来了 请问大侠 问题在那呢?
缺少回调事件
callback: {
beforeExpand: function (treeId, treeNode) {
zTree.setting.async.url = "BDSys_List.ashx?&action=userTree";
if (treeNode.isParent) {
zTree.expandNode(treeNode);
return false;
}
}
}
不是回调函数的问题 我调式了下那个能正常运行的 是节点绑定的数据格式属性有问题 谢谢了 朋友 !
每次只返回第一层子节点,子节点追加isParent属性,判断是否还有孩子节点,页面根据这个属性判断是否异步加载。