Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JsTree复选框-检查事件_Javascript_Jquery_Jstree - Fatal编程技术网

Javascript JsTree复选框-检查事件

Javascript JsTree复选框-检查事件,javascript,jquery,jstree,Javascript,Jquery,Jstree,我有这棵树 使用此代码: var Tree = $("#MyTree"); Tree.jstree({ "core": { "themes": { "responsive": false, "multiple" : false, }, "data": dataTree

我有这棵树

使用此代码:

var Tree = $("#MyTree");

        Tree.jstree({
            "core": {
                "themes": {
                    "responsive": false,
                    "multiple" : false,
                },
                "data": dataTree
            },
            "types": {
                "default": {
                    "icon": "icon-lg"
                },
                "file": {
                    "icon": "icon-lg"
                }
            },
            "ui": {
                "select_limit": 1,
            },
            "plugins": ["wholerow", "types", "checkbox", "ui", "crrm", "sort"],
            "checkbox": {
                "three_state": false,
                "real_checkboxes": false
            }
        });
我需要分离选择和检查操作,用户必须检查他想要的所有节点,但每次只选择一行。 现在,当我单击行上的所有位置并选择该行并选中该节点时,我只需要在用户单击它时选中该复选框

我尝试了很多活动,但唯一有效的是:

Tree.on("changed.jstree", function (e, data) { });
捕捉选择和检查的动作


有什么建议吗?

这个答案是关于jstree的第3版-这是您在2016年应该使用的。不幸的是,您的示例代码似乎使用jstree rel 1,对此我无能为力

第3版

首先,解开选中和选中状态(checkbox.tie_selection:false)-请参阅

然后,使用
check_node.jstree
事件

工作示例

var数据1=[{
“id”:“W”,
“文本”:“世界”,
“state”:{“opened”:true},
“儿童”:[{“文本”:“亚洲”},
{“案文”:“非洲”},
{“案文”:“欧洲”,
“state”:{“opened”:false},
“儿童”:[“法国”、“德国”、“英国”]
}]
}];
$('#Tree').jstree({
核心:{
数据:数据1,
检查回调:false
}, 
复选框:{
三个状态:false,//以避免检查一个节点也检查其他节点的事实
整个节点:false,//为了避免选中框,只需单击节点
tie_selection:false//用于未选择的检查和未检查的选择
},
插件:['checkbox']
})
.on(“check_node.jstree uncheck_node.jstree”,函数(e,数据){
警报(data.node.id+“”+data.node.text+
(data.node.state.checked?'checked':'notchecked'))
})


我下载了jstree 3.2.1,代码片段正是我必须要做的,但它在我的解决方案中不起作用。。。在我的解决方案中,单击复选框时不添加复选框,而是在选择复选框时添加复选框row@LorenzoGrossi查看您的创建参数。特别是
复选框
部分。我复制并粘贴了您的代码片段,但它无论如何都不起作用。。。当我点击框并识别事件(勾选或取消勾选)时,它会显示警报,但它不会添加勾选符号,并在我选择行时添加它–@LorenzoGrossi我发布的代码有效。。。你为什么不发布你的代码(更新你的问题),这样我们就可以检查它有什么问题了