我正在研究jstree复选框插件,并希望在选择父节点时获取所有子节点值。我试图实现get_checked方法,但它不起作用。
以下是我的代码。
<div id="demo"></div>
$('#demo').jstree({
'core' : {
'data' : [
{ "text" : "adya", "children" : [
{ "text" : "id" },
{ "text" : "name"},
{"text":"address"}
]
},
{ "text" : "order", "children" : [
{ "text" : "id" },
{ "text" : "order_name" }
]}
]
},
'checkbox':{'two_state':true,'whole_node':false,'tie_selection':false},
'plugins':['checkbox','themes','ui'] });
a = [];
$('#demo').jstree("get_checked",null,true).each(function()
{ a.push(this.id) });
console.log(a);
请帮帮我。
答案 0 :(得分:1)
试试这个:
jQuery.jstree._reference("#demo")._get_children(parentNode);
答案 1 :(得分:0)
我假设您要选择所选父节点的所有子节点。
为此,您可以使用get_children_dom(obj)
方法(see docs here),此处参数&#39; obj
&#39;是父的完整节点对象。要获取所有选定的父节点对象,可以使用get_top_selected()
方法。然后,对于每个父节点,您可以获取其子节点。
在您的代码中,您可以
var parentNodes = $('#demo').jstree().get_top_selected(true);
var selectedChildNodes;
$.each(parentNodes, function(index,value){
selectedChildNodes = $('#demo').jstree().get_children_dom(value);
});