JsTree中节点添加CheckBox 以及 单选的实现

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);
                });
            });

只能选择一个节点,可用于类似下拉框中的选择。

原文地址:https://www.cnblogs.com/telwanggs/p/7444855.html