从数组中获取对象名称并创建无序列表

时间:2014-05-14 15:57:30

标签: javascript jquery arrays

var Data = [
    {"Částí historky" : [
        {"NSP" : "Ně sítí potažmo"},
        {"PNK" : "Pólu nutné klimatu"}
    ]},
    {"Fyzika ně" : [
        {"SZK" : "Sněžná z křížení"},
        {"ZZS" : "Z základna softwarové"}
    ]},
    {"Zájmem franků" : [
        {"RTD" : "Rodinu tito duchu"},
        {"KVV" : "Končetin ve vesmíru"}
    ]}
];

for (var i=0; i<Data.length; i++) {
    $("#dynamicLoad").append("<ul><li>" + Data[i] + "</li></ul>");
}

JSFiddle

我有一个数组,我想得到关键名称并用它们创建一个无序列表来创建最终结果:

<div id="dynamicLoad">

<ul>
  <li><input type="checkbox" name="" value="Částí historky">Částí historky</li>
    <ul>
      <li><input type="checkbox" name="" value="NSP">Ně sítí potažmo</li>
      <li><input type="checkbox" name="" value="PNK">Pólu nutné klimatu</li>
    </ul>
</ul>

<ul>
  <li><input type="checkbox" name="" value="Fyzika ně">Fyzika ně</li>
    <ul>
      <li><input type="checkbox" name="" value="SZK">Sněžná z křížení</li>
      <li><input type="checkbox" name="" value="ZZS">Z základna softwarové</li>
    </ul>
</ul>

<ul>
  <li><input type="checkbox" name="" value="Zájmem franků">Zájmem franků</li>
    <ul>
      <li><input type="checkbox" name="" value="RTD">Rodinu tito duchu</li>
      <li><input type="checkbox" name="" value="KVV">Končetin ve vesmíru</li>
    </ul>
</ul>

</div>

1 个答案:

答案 0 :(得分:1)

也许看看你的数据是如何构建的。你将不得不做很多工作来优雅地处理它。试试这个:

var Data = [
    {"Částí historky" : [
        {"NSP" : "Ně sítí potažmo"},
        {"PNK" : "Pólu nutné klimatu"}
    ]},
    {"Fyzika ně" : [
        {"SZK" : "Sněžná z křížení"},
        {"ZZS" : "Z základna softwarové"}
    ]},
    {"Zájmem franků" : [
        {"RTD" : "Rodinu tito duchu"},
        {"KVV" : "Končetin ve vesmíru"}
    ]}
];
var keys = [];
for (var i in Data) {
    for (var k in Data[i]) {
        keys.push(k);
    }
}
for(var k in keys) {
   $("#dynamicLoad").append("<ul><li>" + keys[k] + "</li></ul>"); 
}