4
所以我有一個用JsTree創建的複選框樹。我想要做的就是將所有複選框設置爲禁用,然後我有一個包含li標籤的id的數組。通過瀏覽表格我應該啓用屬於具有特定ID的標籤的複選框。選中時,樹應該遵循與默認相同的順序(當父母選中時,啓用子項也應該被檢查,等等)。我該如何繼續?提前致謝。 PS:JsTree插件非常棒。但是它缺少很多文檔。從Jstree中禁用某些複選框
所以我有一個用JsTree創建的複選框樹。我想要做的就是將所有複選框設置爲禁用,然後我有一個包含li標籤的id的數組。通過瀏覽表格我應該啓用屬於具有特定ID的標籤的複選框。選中時,樹應該遵循與默認相同的順序(當父母選中時,啓用子項也應該被檢查,等等)。我該如何繼續?提前致謝。 PS:JsTree插件非常棒。但是它缺少很多文檔。從Jstree中禁用某些複選框
您應該覆蓋默認行爲check_node
和uncheck_node
函數,並創建自己的禁用節點類型。
代碼:
$('#tree').jstree({
'plugins' : ['themes', 'html_data', 'checkbox', 'types'],
'checkbox' : {
'two_state' : true // Nessesary to disable default checking childrens
},
"types" : {
"types": {
"disabled" : { // Defining new type 'disabled'
"check_node" : false,
"uncheck_node" : false
},
"default" : { // Override default functionality
"check_node" : function (node) {
$(node).children('ul').children('li').children('a').children('.jstree-checkbox').click();
return true;
},
"uncheck_node" : function (node) {
$(node).children('ul').children('li').children('a').children('.jstree-checkbox').click();
return true;
}
}
}
}
});
現在禁用的一個節點,添加屬性rel="disabled"
他們li
標籤。
您可以使用正常的JStree事件和沼澤標準的jQuery/JavaScript來此。 JSTree沒有什麼特別的要求。基本上,在JSTree加載函數中執行一些操作來循環所有複選框並禁用它們。然後在JSTree選擇功能中,啓用你所需要的。 – webnoob
你可以創建這個html並且建議一個[FIDDLE](http://jsfiddle.net)? – Jai
問題是我沒有複選框類型的輸入,所以我可以禁用它們... –