开发者

Reloading a jstree without refreshing the page

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 p开发者_开发问答lugin.

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.


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


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜