jstree 获取数据作为 treeLike 数组
jstree get data as treeLike array
假设您有以下类型的数据:
{
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})
})
但是上面的代码并不return只针对选中的节点
所以我想问你们的问题是我将如何做这件事?
您必须指定选定的节点,而不是使用 #
这是根节点。
所以你可以像下面那样做。还要检查演示 - 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
});
假设您有以下类型的数据:
{
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})
})
但是上面的代码并不return只针对选中的节点
所以我想问你们的问题是我将如何做这件事?
您必须指定选定的节点,而不是使用 #
这是根节点。
所以你可以像下面那样做。还要检查演示 - 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
});