2015-11-07 132 views
3

如何在jstree中檢查子節點時如何檢查所有父節點?在jstree中選擇子節點時檢查所有父節點

$('#select_cats').jstree({ 
      "core" : { 
       "themes" : { 
        "responsive": false 
       }    
      }, 
      "types" : { 
       "default" : { 
        "icon" : "fa fa-folder icon-state-warning icon-lg" 
       }, 
       "file" : { 
        "icon" : "fa fa-file icon-state-warning icon-lg" 
       } 
      }, 
      "checkbox": { 
       "three_state": false 
      }, 
      "plugins": ["types", "checkbox"] 
     }); 
+0

您是否使用複選框插件?另外,你可以給我們'#select_cats'的HTML或者一個小提琴嗎? – Anders

回答

0

如果你"three_state"屬性設置爲true你會得到所有家長到根檢驗,喜歡這裏 - JS Fiddle

如果你想多個項目同時進行選擇,使得家長將轉向充分選擇的狀態,加"multiple" : true到樹core配置

+1

當「three_state」屬性設置爲true時,則在選擇父節點上,它的所有子節點也會被檢查。我不想要。 其次,我希望父節點完全選中,如果任何一個孩子被選中。 –

+0

因此,如果任何子項被選中,你希望父節點完全被選中。如果父母被檢查會怎樣?沒有一個孩子節點應該被選中,只是家長保持選擇? –

0

您可以使用此代碼:

var selected = instance.get_selected(), i, j; 
for(i = 0, j = selected.length; i < j; i++) { 
    selected = selected.concat(instance.get_node(selected[i]).parents); 
} 
selected = $.vakata.array_unique(selected); 
selected.pop('#'); 

所有具有父項的選定節點都在selected變量中。
https://groups.google.com/forum/#!topic/jstree/6rICTokWciU