2016-03-02 11 views
1

我的代码生成的HTML以及与HTML启动jstree:如何刷新jstree与HTML而不是重建它

var html = buildHtmlunorderedList() 
$("#tree").html(html); 
$("#tree").jstree({ 
    "core":{"multiple":false}, 
    "state":{"key":"vmsTree22"}, 
      "plugins":["state","sort"] 
}).bind("select_node.jstree",handleLeftClick);` 

这项工作完美。 现在,每隔几分钟HTML被再次建立,我想刷新它的jstree无需破坏它和(每树被再次建立时间,这导致甩尾)再次启动:

inside a loop { 

html = buildHtmlunorderedList(); 
    var tree = $('#tree').jstree({ 
      "core":{"data":html} 
}); 
tree.refresh(true); 
} 

但我得到一个错误:Uncaught TypeError:无法读取未定义的属性'className' (在jstree.js中:var c = this.get_container_ul()[0].className;) 接缝它没有找到类jstree-children的第一个孩子。

我做错了什么? 我没有找到任何直接的例子,如何刷新整个树的HTML没有破坏它,并再次建立它。

感谢您的任何帮助

+0

很高兴帮助!你可以通过点击左边的复选标记来接受答案吗? –

回答

1

您可以替换数据如下。检查演示 - Fiddle

$("#tree").jstree().settings.core.data = newData; 
$("#tree").jstree().refresh(true); 
+0

谢谢!有用 –

相关问题