我是jsTree的新手,我有2個問題。動態地將點擊節點作爲加載節點的父節點 - jsTree
* 說明:* 我有很多基於它們的id和類型的層次結構jsTree,我試圖實現按需加載技術。在頁面加載時,我只顯示沒有子項的第一層(根節點)。然後,當我點擊任何一個節點時,我會根據它的id和它的類型去檢索該特定節點的子節點(採用JSON格式)。 jsTree在瀏覽器上成功添加層次結構,但無法確認點擊的節點是加載節點的父節點(邏輯上我期望這是因爲我沒有告訴jsTree這麼做)。所以,現在我的問題來了: -
1)我如何動態地將這個點擊的節點作爲那些加載節點的父節點?
2.)我必須雙擊jsTree的節點來加載相應的子節點。我只需點擊一下就可以做到這一點?
在此先感謝。
這裏是我的代碼代碼:
In the Servlet, I have the following conditional statements:-
if(type.equals("root"))
{
String jsonString = TreeTest.getRoot().getString("data");
out.write(jsonString);
}
else if(type.equals("rig"))
{
String jsonString = TreeTest.getSecondHierarchy(Integer.parseInt(id)).getString("data");
out.write(jsonString);
}
else if(type.equals("well"))
{
String jsonString = TreeTest.getThirdHierarchy(Integer.parseInt(id)).getString("data");
out.write(jsonString);
}
的,我是回每次調用的JSONObject是在
「數據」 的形式:{ 「數據」: 「節點名稱」, 「ATTR」:{ 「ID」:NODE_ID, 「類型」: 「NODE_TYPE」}}
Here is my jsTree codes
$(document).ready(function(){
$("#tree").jstree({
"themes": {"theme": "classic"},
"core" : {
"strings" : {
"loading" : "Loading data..."
}
},
"json_data": {
"ajax" : {
"type": 'GET',
"url": "TreeViewServlet",
"data": function(n)
{
return{
"id" : n.attr ? n.attr("id") : 0,
"type": n.attr? n.attr("type"): "root"
};
}
}
},
"types" : {
"types" : {
"rig" : {
"icon" : {
"image" : "./images/Rig.gif"
}
},
"well" : {
"icon" : {
"image" : "./images/Well.gif"
}
},
"assysystype" : {
"icon" : {
"image" : "./images/whxt.gif"
}
},
"assy" : {
"icon" : {
"image" : "./images/Assy.gif"
}
},
"_Drl-WH" : {
"icon" : {
"image" : "./images/w_icon.gif"
}
},
"_Compl-XT" : {
"icon" : {
"image" : "./images/x_icon.gif"
}
},
"subAssy" : {
"icon" : {
"image" : "./images/subass.gif"
}
}
}
},
"plugins" : ["themes","json_data","ui", "core", "types"]
}).delegate(".jstree-open>a", "click.jstree", function(event)
{
$.jstree._reference(this).close_node(this,false,false);
}).delegate(".jstree-closed>a", "click.jstree", function(event)
{
$.jstree._reference(this).open_node(this,false,false);
});
});
發佈你已經試過的代碼 –
我已經編輯並添加了我的代碼片段@PragneshChauhan –