0
我有一個用jstree製作的樹,它在展開節點時通過json_data插件部分加載並加載。下面的代碼的癥結所在:用jjree負載編程擴展jstree中的節點
$("#TreeViewDiv")
.jstree(
{
json_data:
{
ajax:
{
url: "/Website/GetNodes",
data: function (node) {
//do some stuff to compile data for backend here
return {
//insert data for backend here
};
},
error: function() {
$("#TreeViewDiv").html("Error initializing tree");
}
}
},
plugins: ["json_data", "ui"]
});
然後我想擴大一些節點,選擇葉節點,這取決於用戶訪問該網站。我這樣做是在一個循環如下:
var nodeValues = [Parent, firstChild, leaf];
for (var j = 0; j < nodeValues .length-1; j++) {
$("#TreeViewDiv").jstree("open_node", $("input[value='" + nodeValues [j] + "']"));
}
打開父節點工作正常,並顯示該樹時則firstChild暴露,但則firstChild結點不開。如果我再次啓動循環,那麼firstchild會成功打開以顯示葉節點。
我的猜測是請求尚未完成,並且firstChild樹節點在上述循環嘗試打開時不存在。有沒有辦法在嘗試打開下一個節點之前等待節點加載?謝謝!