【发布时间】:2011-09-15 15:53:56
【问题描述】:
我正在为树视图使用 Dyna Tree 插件。
现在,在扩展父节点时,我正在使用延迟加载功能,
onLazyRead: function(node){
node.appendAjax({
url: TREEVIEW_JSON_URL
});
}
现在我想使用lazyLoad 展开响应中可用的所有子节点和子节点。在当前场景中,我只能展开子节点。
请帮我解决这个问题。提前致谢
【问题讨论】:
我正在为树视图使用 Dyna Tree 插件。
现在,在扩展父节点时,我正在使用延迟加载功能,
onLazyRead: function(node){
node.appendAjax({
url: TREEVIEW_JSON_URL
});
}
现在我想使用lazyLoad 展开响应中可用的所有子节点和子节点。在当前场景中,我只能展开子节点。
请帮我解决这个问题。提前致谢
【问题讨论】:
你可以试试这样的东西(虽然还没有测试过):
$("#tree").dynatree({
[…]
onLazyRead: function(node){
node.appendAjax({url: TREEVIEW_JSON_URL,
success: function(node) {
// Called after nodes have been created and the waiting icon was removed.
// now expand all children
node.visit(function(n){
n.expand(true);
});
}
});
},
[…]
});
【讨论】:
node.hasChildren() 来检查是否存在子节点。您还可以让服务器将"expand": true 添加到 JSON 数据中,这是最有效的方式(无需 JavaScript)。