如何刷新jsTree的内容?

Gid*_*sey 53 jquery jstree

我已经加载了一个带有AJAX调用的jsTree,它返回JSON数据.如何刷新树以便重新加载其内容?

Gid*_*sey 69

结果就像调用一样简单:

   tree.jstree("refresh");
Run Code Online (Sandbox Code Playgroud)


小智 59

在版本3,您可以重新加载树:

$('#treeId').jstree(true).settings.core.data = newData;
$('#treeId').jstree(true).refresh();
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用,因为我的JSON数据来自其他一些函数而不是AJAX (3认同)

小智 25

var tree = jQuery.jstree._reference("#files");
tree.refresh();
Run Code Online (Sandbox Code Playgroud)

要么

var tree = jQuery.jstree._reference("#files");
var currentNode = tree._get_node(null, false);
var parentNode = tree._get_parent(currentNode);
tree.refresh(parentNode);
Run Code Online (Sandbox Code Playgroud)

  • jsTree API很痛苦 (45认同)
  • 我需要刷新一个特定的节点.谢谢你这个有用的提示. (3认同)
  • 是的,我不喜欢它,甚至v3 aPI,就像Internet Explorer一样. (2认同)

小智 10

对于jstree3.我使用destroy()函数并再次创建运行jstree()函数的树

  • 实际上,这是一个事件,但它有所帮助.`tree.jstree( "毁灭")` (4认同)