重新加载jstree而不刷新页面

发布于 2024-11-19 04:58:44 字数 625 浏览 5 评论 0原文

我正在尝试重新加载 jstree 而不重新加载或刷新页面,重新加载应该发生在按钮的 onclick 上,因此当单击按钮时,我调用

$("#tree-container").jstree('destroy'); 
//then calling the function that reads or renders the tree

它可以正常工作没有树已经渲染,但是当树已经渲染并且我单击按钮时,我得到:“无法调用未定义的方法 init。” 错误发生在 jstree 插件< /代码>。

我什至尝试删除容器,然后在调用读取树的函数之前将其重新附加到其父容器

$("#tree-container").remove();

$('#parent-tree-container').append($('<div id="tree-container"></div>'));
//then called the function that reads/renders the tree  

,但这仍然不起作用。 :(

提前致谢。

I'm trying to reload a jstree without reloading or refreshing the page, the reload should happen onclick of a button, so when the button is clicked im calling

$("#tree-container").jstree('destroy'); 
//then calling the function that reads or renders the tree

that works fine when no tree is already rendered, however when a tree is already rendered and I click on the button I get this : "cannot call method init of undefined." the error occurs in the jstree plugin.

I even tried removing the container then re-appending it to it's parent container before calling the function that reads the tree

$("#tree-container").remove();

$('#parent-tree-container').append($('<div id="tree-container"></div>'));
//then called the function that reads/renders the tree  

but that still didn't work. :(

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ㄖ落Θ余辉 2024-11-26 04:58:44

这将进行 ajax 调用来刷新树,但不会刷新它所包含的页面:

$.jstree._reference($("#tree-container")).refresh(-1);

这是最好的方法,但如果您愿意,您可以在初始 div 上重建 jstree,而无需先销毁它:

$( "#tree-container").jstree({

This will make an ajax call to refresh the tree, but not the page it's contained in:

$.jstree._reference($("#tree-container")).refresh(-1);

That is the best method, but if you prefer, you can just rebuild the jstree over the initial div without destroying it first:

$("#tree-container").jstree({ etc

揽月 2024-11-26 04:58:44

你使用的是 jQuery 1.6.2 吗?如果是这样,请尝试较低的版本 - 1.6.1 应该可以。 - 参见此处

Are you using jQuery 1.6.2? If so, try a lower version - 1.6.1 should work. - see here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文