2016-03-02 47 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

謝謝!有用 –

相關問題