我想根据复选框选择创建一个新的复选框树。 当我在选择后单击提交时,仅选中复选框并显示不确定的父树。
code in jsfiddle
答案 0 :(得分:0)
您只需使用自己的数据创建#selected
树,然后在select_node
树上调用#selected
,即可传递来自get_checked
的{{1}}数据,如下所示:
#tree
请在此处查看我的完整工作示例:http://zikro.gr/dbg/html/jstree/
<强>更新强>
要仅通过所选数据创建新树,您必须遍历所有数据并保留所选节点。我用//button submit output
$('#submit').click(function() {
var selectedData = $("#tree").jstree("get_selected");
//document.getElementById('selected').innerHTML = selectedData;
//console.log(selectedData);
$("#selected").jstree({
"checkbox": {
"keep_selected_style": false
},
"plugins": ["checkbox", "json_data"],
"core": {
"themes": {
"icons": false
},
"data": myData
},
});
$('#selected').on({
'loaded.jstree': function treeLoaded(event, data) {
data.instance.select_node($("#tree").jstree().get_checked());
},
'ready.jstree': function() {
$(this).jstree("open_all");
}
});
});
来获取id和2个数组的节点;一个用于存储树创建的新选定节点,另一个用于保留已添加的ID,以便不再添加它们。
get_node