2013-08-06 168 views
1

我正在使用Jstree插件,我想獲取所選節點的所有子節點而不擴展它。 我GOOGLE了一下,知道它可以使用下面的代碼完成。Jstree得到所有的子節點

checked = $(「#tree」)。jstree(「get_checked」,null,true);

但它沒有爲我工作,我需要首先展開/打開節點,以獲得它的孩子。

下面是我使用

$( 「#樹視圖-CarrierGroup」)。jstree( 「get_checked」,空,真)。每個(函數(項目){ 警告樣本代碼($ (this).attr(「id」)); });

請讓我知道是否有可能得到所選父節點的子節點而不展開/打開它。

感謝

回答

1

它看起來像你使用錯誤的方法開始。 .get_checked (context, get_all)是複選框插件的一部分。你想要._get_children (node)。另外,如果您使用延遲加載並且未加載節點,那麼您將無法以此方式獲取其子節點,因爲它們根本不存在。這可能就是爲什麼你看到擴展節點之前和之後的區別。有多種解決方案:

您可以在獲取子節點之前手動加載節點。

或者,如果您只是簡單地列在子列表之後,並且不需要在jstree中將其可視化,則可以使用另一個Ajax調用來獨立於jstree獲取此信息。

0
$('#tree').find('.jstree-node')