![](/img/trans.png)
[英]Jstree - How to check child nodes if parent node is checked in Jstree?
[英]How to open child node in JsTree when child nodes do not exist until parent is expanded?
我有一個帶有多個子節點的父節點。 問題是如果我想打開一個特定的節點,我稱之為$("#jstree").jstree("open_node", $('#node_27'));
。 問題是父節點未打開,因此$('#node_27')
返回一個空數組。
如果我有孩子ID,在打開父ID之前將其添加到DOM中時,如何打開它?
顯然,如果您想“深度開放”節點,則需要使用
$("#jstree1").jstree("open_node", ['rootId','childId','childChildId','yourNodeId']);
但是,有一種名為_open_to的方法已經可以自動執行此操作,因此您可以執行以下操作:
$("#jstree1").jstree("_open_to", 'yourNodeId'); //j1_5 in your case
它將打開所需的一切以到達您想要的節點
_open_to
方法是私有方法,不應直接使用。 盡管現在可以工作,但是將來可能會改變,例如jsTree作者決定更改其庫的內部機制時。
要打開父級到節點,您可以簡單地使用
$('#jstree1').jstree('select_node', 'node_27' );
作為獎勵,您將選擇目標節點。
如果使用ajax填充樹,則會延遲加載子節點。 您必須首先使用“ load_node”加載父節點,然后使用“ select_node”作為子節點。
$('#jstree').on('refresh.jstree', function () {
$('#jstree').jstree(true).load_node('parent-id', function () {
$('#jstree').jstree().deselect_all();
$('#jstree').jstree('select_node', 'child-id');
});
});
$('#jstree').jstree(true).refresh(false, false);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.