簡體   English   中英

從數據為jqtree構建樹json

[英]build a tree json for jqtree from data

我正在嘗試為以下構建jqtree的數據創建樹json

var data = [
    {
        "director": "Name1",
        "name": "sub-sub-child1",
        "teamname": "sub-child1",
        "teamManager": "child1"
    },

    {
       "director": "Name1",
       "name": "sub-sub-child2",
       "teamname": "sub-child1",
       "teamManager": "child1"
    },
    {
        "director": "Name1",
        "name": "sub-sub-child2",
        "teamname": "sub-child2",
        "teamManager": "child2"
    },
    {
        "director": "Name2",
        "name": "sub-sub-child1",
        "teamname": "sub-child1",
        "teamManager": "child1"
    },
    {
        "director": "Name2",
        "name": "sub-sub-child2",
        "teamname": "sub-child2",
        "teamManager": "child2"
    },
    {
        "director": "Name3",
        "name": "sub-sub-child1",
        "teamname": "sub-child1",
        "teamManager": "child1"
    },
    {
        "director": "Name3",
        "name": "sub-sub-child2",
        "teamname": "sub-child2",
        "teamManager": "child2"
    }
];

console.log(data);

var aNode = [];
                var aTempNode  = [];
                $.each(data, function(index, value) {
                    //console.log(value);
                    var key = {};
                    if($.inArray(value.director, aTempNode) == -1) {
                        aTempNode.push(value.director);
                        key['label'] = value.director;
                        key['children'] = [{label: value.teamManager, children: [{label: value.teamname, children: [{label: value.name}]}]}];
                        aNode.push(key);
                    } else {
                        //console.log(aNode)
                        if(key['teamname'] == aNode.children) {

                        }
                    }

                });
                console.log(aNode);

小提琴

EDIT2

樹應該是這種形式

Name1
 |
 |___child1
 |     |
 |     |___sub-child1
 |     |      |
 |     |      |___sub-sub-child1
 |     |      |___sub-sub-child2
 |     |
 |     |___sub-child2
 |            |
 |            |___sub-sub-child1
 |            |___sub-sub-child2
 |
 |____child2  

EDIT1

我已經完成了一半。 我很困惑如何從這里開始。 小提琴

嘗試一下,您將在“臨時”變量中獲得所需的內容

 var temp = []; $.each(data, function(row, val) { var director = $.grep(temp, function(v) { return v.label == val.director }); if (director.length) { var teamManager = $.grep(director[0].children, function(v) { return v.label == val.teamManager }) if (teamManager.length) { var teamname = $.grep(teamManager[0].children, function(v) { return v.label == val.teamname }) if (teamname.length) { var name = $.grep(teamname[0].children, function(v) { return v.label == val.name }) if (!name.length) { teamname[0].children.push({ label: val.name, children: [] }); } } else { teamManager[0].children.push({ label: val.teamname, children: [{ label: val.name, children: [] }] }); } } else { director[0].children.push({ label: val.teamManager, children: [{ label: val.teamname, children: [{ label: val.name, children: [] }] }] }) } } else { temp.push({ label: val.director, children: [{ label: val.teamManager, children: [{ label: val.teamname, children: [{ label: val.name, children: [] }] }] }] }); } }); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM