我正在使用JSTree和checkbox插件,但我无法选择选中的节点,我在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"));
});
现在我只有父节点,子节点没有被收集...你知道...??
请..。帮帮我...!!
发布于 2011-10-12 21:27:13
这就是我调用/获取所有选中节点的方式
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
https://stackoverflow.com/questions/7742826
复制