初始化后更新jqTree?
我是 jqTree 的新手,我想在 ajax 调用后重新加载树。我有这样的事情:
$("select").change(function(){
var url = 'lab.json';
if ($(this).val() === 'RAD') {
url = 'rad.json';
}
$.get(
url,
function(jsonData) {
$("#treedata").tree({data: jsonData});
},
"json"
);
});
第一个调用正在工作,但对于下一个调用,树不会使用新数据进行更新。
知道如何在初始化后更新树吗?
谢谢
编辑:
我找到了一个解决方案,但它并不完美。如果有人有更好的解决方案,请告诉我:)
$("#treebox").empty().append('<div id="treedata"></div>');
$("#treedata").tree({
data: jsonData
});
我必须使用 $.empty() 删除 jqTree 生成的内容,然后每次我想用新数据更新树时初始化 jqTree。
I'm new with jqTree and I'd like to reload the tree after ajax call. I have something like this :
$("select").change(function(){
var url = 'lab.json';
if ($(this).val() === 'RAD') {
url = 'rad.json';
}
$.get(
url,
function(jsonData) {
$("#treedata").tree({data: jsonData});
},
"json"
);
});
The first call is working but for the next ones the tree doesn't update with the new data.
Any idea how to update the tree after initialization ?
Thanks
EDIT :
I found a solution but it's not perfect. If someone has a better solution let me know :)
$("#treebox").empty().append('<div id="treedata"></div>');
$("#treedata").tree({
data: jsonData
});
I have to remove the generated content by jqTree using $.empty() and then initialize jqTree each time I want to update the tree with new data.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用函数“loadData”在树中加载新数据。 jqTree最新版本(0.6)支持该功能。
例如:
另请参阅 http://mbraak.github.com/jqTree/#functions-loadData< /a>
You can use the function 'loadData' to load new data in the tree. This function is supported in the latest version of jqTree (0.6).
For example:
Also see http://mbraak.github.com/jqTree/#functions-loadData
jQtree (0.1.3) 的当前版本允许您从服务器延迟加载。
您的文档说需要像这样提供 url:
所有后续请求都将附加节点 ID,如下所示:
并且您必须设置 load_on_demand:
另请参阅:
http ://mbraak.github.com/jqTree/examples/example5.html
但我很难让它工作,不得不手动使用 dataUrl 属性,如下所示:
The current version of jQtree (0.1.3) lets you lazy load from the server.
You documentation says need to ser the url like this:
<div id="tree1" data-url="/nodes/"></div
>All subsequent requests will append the node id like so:
And you must set load_on_demand:
Also see:
http://mbraak.github.com/jqTree/examples/example5.html
But I had trouble getting this to work and had to manually the dataUrl attribute with something like:
假设您初始化了元素
$jqtree_element = $("#tree1")
并运行一些 jqTree 初始化:$jqtree_element.tree(...)
我深入研究了代码 ( jqTree,1.0.0)并发现这非常有用:
Assume, you initialized element
$jqtree_element = $("#tree1")
and run some jqTree initialization:$jqtree_element.tree(...)
I dig into the code (jqTree, 1.0.0) and found this very useful: