JQuery каждый с объектом JSON - PullRequest
1 голос
/ 29 ноября 2010

У меня есть ответ json:

[{
    "i": 39,
    "id": "15399"
},
{
    "i": 38,
    "id": "15386"
},
{
    "i": 37,
    "id": "15329"
}]

Теперь мне нужно поместить эти элементы в список HTML.как я могу использовать $ .each для этого?

(что-то вроде:


<li>39: 15399</li>
<li>38: 15386</li>

и т. д.)

(кстати, у меня нет доступа кфайл, который генерирует код json)

Ответы [ 2 ]

3 голосов
/ 29 ноября 2010

Просто выполните итерацию по вашему массиву, например:

var list = $("#myList");
$.each(data, function(i, obj) {
  $("<li />", { text: obj.i + ": " + obj.id }).appendTo(list);
});

В обратном вызове $.each() вы получите индекс и объект в качестве параметров, в данном случае вы просто хотитеиспользовать свойства i и id от этого.Альтернативой является просто обычный цикл for, например:

var list = $("#myList");
for(var i=0, l=data.length; i<l; i++) {
  var obj = data[i];
  $("<li />", { text: obj.i + ": " + obj.id }).appendTo(list);
});
0 голосов
/ 29 ноября 2010

Нет необходимости, это просто массив javascript - вы можете просто использовать цикл for ...

for(var idx=0;idx<JSONResponse.length;idx++){
    var elem=JSONResponse[idx];
    $('ul#somewhere').append('<li>'+elem.i+': '+elem.id+'</li>');
}
...