stree中添加checkbox,需要在初始化時設置plugins屬性:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
$(
'#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屬性。
|
1
2
3
4
5
6
7
8
|
$(
'#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);
});
});
|
只能選擇一個節點,可用於類似下拉框中的選擇。
