我有一個jQuery jsTree從服務器通過ajax調用填充。當我添加一個新節點時,我做了一個ajax調用,然後撥打電話以tree.jstree("refresh")
刷新樹。刷新後,我想選擇剛剛添加的節點。不幸的是,似乎沒有可以傳遞給此命令的回調。有沒有乾淨的方法來做到這一點?jsTree:如何在刷新後選擇節點
3
A
回答
3
哦,這麼長時間以來,這篇文章......仍然無法在互聯網上找到答案。 的......不不不數小時後所以,不是這個,想出了一個solutin
var jsTreeId = '#jstree'; // or whatever name the jstree has
var jsTreeSelectedItemId = 5; // just an example
var selectedNode = $('#node_'+jsTreeSelectedItemId);
var parentNode = $.jstree._reference(jsTreeId)._get_parent(selectedNode);
//現在讓我們說,你從服務器端添加一個新的節點,你得到的新ID通過Ajax調用所創建的節點,接下來要刷新樹,以顯示它,並選中它
var newSelectId = 9; // or from ajax call
// call the refresh function, which is asnyc
$.jstree._reference(jsTreeId).refresh(parentNode);
// set the magic "to_select" variable with an array of node ids to be selected
// note: this must be set after refresh is called, otherwise won't work
$.jstree._reference(jsTreeId).data.ui.to_select = ['#node_'+newSelectId];
1
$('#tree').jstree("select_node", '#1', true);
//other node are deselected if pass last argument as true.
$('#tree').jstree("select_node", '#1', false);
//other node are selected and new one also selected.
相關問題
- 1. JsTree - 隱藏面板時選擇節點
- 2. jstree拖動節點沒有選擇
- 3. jsTree選擇最嵌套的節點
- 4. 在jstree中選擇子節點時檢查所有父節點
- 5. 如何在jstree中選擇禁用的節點?
- 6. 點擊複選框後如何訪問jsTree節點屬性?
- 7. 如何在創建新的jstree節點後設置id?
- 8. 刷新後日期選擇器亮點
- 9. JsTree打開一個節點,然後選擇一個子節點(使用json_result)
- 10. jsTree - 不要選擇禁用父節點的子節點嗎?
- 11. jsTree,需要在刷新時擴展所有節點
- 12. 如何從所選節點的所有子節點中jstree
- 13. Jstree如何在創建新節點時更改「新節點」標籤?
- 14. 刷新DBGrid後選擇行
- 15. 在Jstree中創建新節點
- 16. 如何在jsTree中加載子節點
- 17. 限制在jstree中選擇子節點的數量
- 18. 在X秒後刷新選擇元素
- 19. 從節點選擇中選擇節點
- 20. 移動節點後C#Treeview不刷新
- 21. hook_view後自動刷新Drupal節點
- 22. 禁用jstree節點
- 23. 如何在jstree中只選擇一個節點,當多個節點具有相同的ID時
- 24. jstree複選框的節點ID
- 25. jstree選擇多個節點激發一個事件
- 26. 無法獲取jQuery插件jsTree最初選擇一個節點
- 27. 使用jstree檢索取消選擇的節點
- 28. 如何更改jsTree節點的文本?
- 29. 如何禁用jsTree節點重命名?
- 30. 如何重命名jsTree節點
要添加節點作爲最後一個節點或在樹間? – Vivek 2011-06-13 05:50:25