jstree将数据作为treeLike数组获取

时间:2016-11-15 15:06:01

标签: javascript jquery jstree

假设您有以下类型的数据:

{
    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})
})

但是,上述代码不仅仅针对所选节点返回

所以我向你们提出的问题是我该怎样做呢?

1 个答案:

答案 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
});