jstree中添加checkbox,需要在初始化時設置plugins屬性:
$('#DpTree').data('jstree', false).empty().jstree({
'core': {
'data': data.data,
"check_callback": true,
'multiple': false,
},
"force_text": true,
plugins: ["sort", "types", "checkbox", "themes", "html_data"],
"checkbox": {
"keep_selected_style": false,//是否默認選中
"three_state": false,//父子級別級聯選擇
"tie_selection": false
},
});
eg:設置three_state為true時,選擇所有子節點后父節點會自動選擇。
我的需求是選擇一個節點綁定給其他數據,節點只能選擇一個,且不可重復。
故,添加如下事件,選擇節點后遍歷所有選中的節點,更改其checkbox屬性。
$('#DpTree').on('check_node.jstree', function(event, obj) {
var ref = $('#DpTree').jstree(true);
var nodes = ref.get_checked(); //使用get_checked方法
$.each(nodes, function(i, nd) {
if (nd != obj.node.id)
ref.uncheck_node(nd);
});
});
只能選擇一個節點,可用於類似下拉框中的選擇。
