2017-12-05 5 views
0

ドラッグ&ドロップビルダーからjavascriptを使用して動的jsonを作成していますが、今はjsonをNested Ul liに変換できません。 jsonは以下の通りです。json to nested ul li jquery/javascript

[ 
    { 
    "id": "11", 
    "name": "BALANCE" 
    }, 
    { 
    "id": "p1", 
    "name": "Conditions", 
    "nodes": [ 
     { 
     "id": "p1-13", 
     "name": "SPINAL CORD INJURY", 
     "nodes": [ 
      { 
      "id": "p1-13-12", 
      "name": "STROKE", 
      "nodes": [ 
       { 
       "id": "p1-13-12-17", 
       "name": "REACHING" 
       } 
      ] 
      } 
     ] 
     } 
    ] 
    }, 
    { 
    "id": "p1-16", 
    "name": "STRETCHES" 
    }, 
    { 
    "id": "p1-11", 
    "name": "BALANCE" 
    } 
] 
+0

あなたの質問は何ですか?あなたのコードはどこですか? – Sylwek

+0

このjsonは私だけが持っています – Ranit

+0

それはサイト "私のためにそれを"ではありません。何かをしようとしたときにコード – Sylwek

答えて

0

あなたはfunctionを作成し、項目にnodesがある場合は、再帰的に呼び出すことができます。

var json = [{"id":"11","name":"BALANCE"},{"id":"p1","name":"Conditions","nodes":[{"id":"p1-13","name":"SPINAL CORD INJURY","nodes":[{"id":"p1-13-12","name":"STROKE","nodes":[{"id":"p1-13-12-17","name":"REACHING"}]}]}]},{"id":"p1-16","name":"STRETCHES"},{"id":"p1-11","name":"BALANCE"}]; 
 

 
function createUl(data, $elm) { 
 
    data.forEach(function(item) { 
 
    var $li = $('<li><span>' + item.name + '</span></li>'); 
 
    $elm.append($li); 
 

 
    if (item.nodes) { 
 
     var $ul = $('<ul></ul>'); 
 
     $li.append($ul); 
 
     createUl(item.nodes, $ul); 
 
    } 
 
    }); 
 
}; 
 

 
createUl(json, $('ul'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul></ul>

+0

の問題が発生した場合は、お手伝いできます。どうもありがとう – Ranit