JsTree .get_checked函数不起作用......帮助......?

时间:2011-10-12 15:48:16

标签: jquery asp.net-mvc jquery-plugins jstree

我正在使用JSTree和复选框插件,但我无法选择选中(检查)的节点,我在JSTree文档中读到了关于事件.get_checked,但不知道如何实现它,也不知道如何实现它放置它,如果在加载数据的函数内,我也不明白当事件有效时,即我不知道每次检查一个节点时是否执行了该事件或者是否有一个数组是每次一个节点被搞砸时都会填满...请帮助我......我迷失了,不知道该怎么做。

这是我的Jscript代码,数据加载很好,但是get_checked函数不起作用......

$(function () {
    $("#demo2")
        .jstree({
             plugins: ["themes", "json_data", "checkbox", "crrm"],
                   "json_data": {
                    "ajax": {
                        "type": "POST",
                        "url": "/Ubicacion/Arbol/",
                        "data": function (n) { return { id: n.attr ? n.attr("id") : 0} }
                }
            }

            })

        .bind("check_node.jstree", function (event, data) {
            alert($.jstree._focused().get_checked().attr('id'));
        })

    });

在互联网上搜索我发现了一个“中间”解决方案:

 $(function () {
        $("#demo2")
        .jstree({

            plugins: ["themes", "json_data", "checkbox", "crrm"],
            "json_data": {
                "ajax": {
                    "type": "POST",
                    "url": "/Ubicacion/GetTreeview/",
                    "data": function (n) { return { id: n.attr ? n.attr("id") : 0} }
                }
            }
        }).bind('check_node.jstree', function (e, data) {
            alert("Nodo elegido " + data.rslt.obj.attr("id"));
        });
    });

我添加这些行:

.bind('check_node.jstree', function (e, data) {
                alert("Nodo elegido " + data.rslt.obj.attr("id"));
            });

现在我只有父节点,孩子们没有被关联......任何想法...... ??

请...帮助我...... !!

1 个答案:

答案 0 :(得分:3)

这就是我调用/获取所有已检查节点的方式

checked = $("#tree").jstree("get_checked",null,true) ;

很适合我。在我看来,“麻烦”将是你何时以及如何致电.get_checked

你能告诉我们你想要达到的目标吗?如果您可以在jsfiddle.net

上提供样本,那将是最好的

更新

工作样本位于jsfiddle

1)如何绑定操作以检查复选框

$("#jstree").bind('check_node.jstree', function(e, data) {
    $("#list").append('<BR>clicked and ' + node_is_check(data));
});

2)如何检查是否选中了复选框,其中object =上面的数据

object.inst.is_checked(object.rslt.obj