假设您有以下类型的数据:
{
children: [{id: 1}, {id:2}, {id:3}],
id: 85,
text: "myParent
}
现在使用jstree我希望得到这些数据,所以选定的节点会给我一个这样的结果:
result = [{id: 85, text: 'myParent', children: [{id: 1}]}]
在上述情况下,我选择了node
1
基本上它给了我父项,然后是子数组中的选定子项。
到目前为止,我尝试了以下内容:
$('#dataTree').on("changed.jstree", function (e, data) {
$('#dataTree').jstree(true).get_json('#', {flat:false})
})
但是,上述代码不仅仅针对所选节点返回
所以我向你们提出的问题是我该怎样做呢?
答案 0 :(得分:1)
您必须指定所选节点,而不是使用作为根的#
。
所以你可以像下面这样做。另请查看演示 - Fiddle Demo。
.on("changed.jstree", function (e, data) {
var result = data.selected.map(function(node){
return $('#dataTree').jstree(true).get_json(node, {flat:false});
});
// ... do something with result array
});