重新加载jstree而不刷新页面

Moe*_*Moe 3 jstree

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

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

当没有渲染树时,效果很好,但是当已经渲染树并且我单击按钮时,我得到:“无法调用未定义的方法 init”。错误发生在jstree plugin.

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

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

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

但这仍然不起作用。:(

提前致谢。

Bob*_*Bob 5

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

$.jstree._reference($("#tree-container")).refresh(-1);
Run Code Online (Sandbox Code Playgroud)

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

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