2014-02-09 112 views
0

我一直在試圖找出如何檢查一個節點是否是jstree中的一個葉節點,但所有這些信息似乎都是關於jstree的早期版本和過時的我可以告訴大家......檢查一個節點是否是jstree中的一個葉節點

所以,我有以下幾點:

$('#jstree').jstree(); 

$('#jstree').on("changed.jstree", function (e, data) { 
    console.log(data.selected); 

}); 

變化回調給了我選擇的ID在控制檯的輸出。但是,如何獲得有關他們是否葉子(沒有孩子)的信息?

我想它必須遍歷一些陣列,因爲上面可以提供多個選擇的節點的ID(我想),像這樣在控制檯:

[「3」,「4」]

但我無法弄清楚如何做到這一點。我一直在搜索文檔,但對於我的jquery技能級別來說,這並沒有幫助,它似乎列出了對象和事件等(例如「is_leaf」列在「類型插件」下)但我找不到如何編碼的例子。我不知道放在哪裏無論是類型插件如果這就是我需要的,也不是爲了得到什麼上述每個選定節點的我的一部分is_leaf ...

回答

1

在jstree每一片葉子節點有

class='jstree-leaf' 

在其html中。所以,你可以在

.bind('loaded.jstree',function(e,data){ 

    //code here 

    }); 

$.each(function(e,data){ }); 

檢查這個檢查類是否存在於樹木或不。加載事件中的每個循環遍歷jstree中的所有節點。

希望你有一些想法。其餘的你可以參考文檔的語法。

如有任何疑問,請通知我。

+0

謝謝,這是一段時間以前,這是我最終做的。我忘了寫下來,所以我會標記你的答案。 – Anders

0
if ($('#jstree').jstree().jstree.get_selected(true)[0].children == 0) 
    //Do Something 

因此,這將檢查所選的項目有任何的孩子,如果沒有則繼續進行。

相關問題