禁用JStree中的所有复选框

时间:2014-02-03 04:19:21

标签: jquery jstree

我在我的应用程序中使用jtree插件。我想在编辑模式下禁用jstree中的所有复选框。加载jstree后,以编程方式检查该复选框。我唯一想要禁用所有复选框。

$("#testId").jstree({
            "json_data" : {              
                "data" : rootNode,
                "progressive_render" : true,
                "progressive_unload" : true

            },
             "checkbox" : {
        "two_state" : true
        },  
                "themes" : {
                "theme" : "apple",
                "dots" : false,
                "icons" : false
            },       
                "plugins" : [ "themes", "json_data", "ui", "checkbox"]
       });  

3 个答案:

答案 0 :(得分:2)

可能对您有用的另一件事是,

您可以根据

中的json数据或javascript以编程方式检查和取消选中所需的复选框
.bind("loaded.jstree",function(e,data){

//your jquery code for check and uncheck.

});

稍后要禁用检查并取消选中jstree复选框,您可以执行以下操作:

.bind("check_node.jstree",function(e,data){
      return false;
});

.bind("uncheck_node.jstree",function(e,data){
      return false;
});

这将禁止用户更改复选框的状态。

我在试验时发现了这个!!!

答案 1 :(得分:1)

您可以使用

中的任何取消选中代码
.bind("loaded.jstree",function(e,data){

//your jquery code for check and uncheck.

});

这将在树加载时调用所需的操作。

如果遇到问题请告诉我。

答案 2 :(得分:-1)

演示FIDDLE

<强> Jquery的

$('.check').eq(4).prop('checked',true); //checkbox checked
if($('.check:checked').length>0)
    $('.check').attr('disabled','disabled');

$('.check1').eq(3).prop('checked',true);  //checkbox checked
if($('.check1:checked').length>0)
    $('.check1').not($('.check1').eq(4)).attr('disabled','disabled');

根据您的情况,您将更改班级