Jstree - 预先检查复选框

时间:2011-09-27 18:20:44

标签: jquery jstree

我正在使用JsTree 1.0,并且无法使用复选框插件预先检查复选框。

这是我的完整代码:

 $(".tree").bind("loaded.jstree", function (event, data) {
                 $('.tree li.checked').each(function () {
                     $(this).prop("checked", true);
                })
            }).jstree({ 
                "core" : { "animation" : 0}, 
                "json_data" : {
                    "ajax" : {
                        "url" : "/admin/posts/get_taxonomy_tree",
                        "data" : function (n) { 
                            return { id : n.attr ? n.attr("id") : 0 }; 
                        }
                    },
                    "progressive_render" : true
                },
                "checkbox" : {
                    "real_checkboxes" : true,
                    "real_checkboxes_names" : function(n){
                        return [("term_taxonomy_id_" + (n[0].id || Math.ceil(Math.random() * 10000))), 1]; 
                    }
                    },
                "themes" : {
                    "url"   :   "/assets/admin/js/jstree/themes/default/style.css",
                    "icons": false
                },
                "plugins" : [ "themes", "json_data", "checkbox" ]
            }).delegate("a", "click", function (event, data) { event.preventDefault(); });

我已为loading.jstree添加了绑定事件,但这不正确 - 无效。

有什么想法吗?谢谢!

编辑:

解决方法是添加类jstree-checked,默认情况下会预先选中

3 个答案:

答案 0 :(得分:5)

解决方法是添加“jstree-checked”类,默认情况下会预先检查框

答案 1 :(得分:1)

确保添加“已检查”类,因为它曾用于预先选中load =)

上的框

答案 2 :(得分:1)

以下代码可能会解决您的问题。

$('.tree').jstree("check_all");