2012-07-04 96 views
0

我使用jsTree用常規的形式,這個配置裏面的複選框選項只獲得最高級別:jsTree - 從複選框後

"checkbox" : { 
    real_checkboxes : true, 
    two_state: false 
     } 

我只有兩個級別的數據(L1和L2)。如果只有一些L2項目被選中,我只能得到那些項目(沒有L1項目在上面),這很好。問題是如果所有L2項目都被選中,我會得到頂級項目(L1)和所有L2項目。我只想得到頂級的檢查項目,所以如果所有的L2項目都被檢查,我只會得到它上面的L1項目。

我看到有一個.get_checked (context, get_all)選項,但我不知道如何將值從此張貼到表單。

回答

0

簡單的方法是循環訪問.get_checked的jQuery結果,並將每個元素的id連接到逗號分隔的String。然後,您可以將結果字符串設置爲隱藏輸入字段的值。你將不得不在服務器上再次分割這個字符串。

你也可以考慮創建一個jQuery選擇器,用於檢查元素的所有(隱藏)輸入元素,並將它們設置爲未選中狀態。像

$("li.jstree-checked > ul input").attr('checked', false); 

可能工作,雖然我還沒有嘗試過。