#jquery #json #each
#jquery #json #каждый
Вопрос:
У меня возникают некоторые реальные трудности при попытке решить итерацию jQuery $.each ()
Это мой массив, ограничивающий результаты для удобства
[{"GROUP_ID":"143",
"GROUP_TYPE":"2011 Season",
"EVENTS":[
{"EVENT_ID":"374","SHORT_DESC":"Wake Forest"},
{"EVENT_ID":"376","SHORT_DESC":"Yale"},
{"EVENT_ID":"377","SHORT_DESC":"Michigan State"}]
},
{"GROUP_ID":"142",
"GROUP_TYPE":"2010 Season",
"EVENTS":[
{"EVENT_ID":"370","SHORT_DESC":"Duke"},
{"EVENT_ID":"371","SHORT_DESC":"Northwestern"},
{"EVENT_ID":"372","SHORT_DESC":"Brown"}]
}]
Моя первая итерация $.each работает очень хорошо, но на второй итерации для «СОБЫТИЙ» у меня возникают проблемы
Моя первая функция $.each()
$.each(json, function(key) {
html = '<a href="' json[key].GROUP_ID '">';
....
Моя нерабочая вторая функция $.each()
$.each(json.EVENTS, function(key) {
newHTML = '<p>' json.EVENTS[key].SHORT_DESC '</p>';
...
Я понимаю (приблизительно), что это не отдельный объект JSON, а массив объектов JSON, но не понимаю, работает ли первая версия, почему вторая нет
конечный результат, которого я хочу достичь, как только я пойму, что это $.each() внутри $.each (), я знаю, что приведенный ниже код не работает и, скорее всего, идиотский, но дает представление о том, чего я пытаюсь достичь: выполнить итерацию через родительский элемент, затем дочерний элемент по родительскому элементу
$.each(json, function(key) {
html = '<a href="' json[key].GROUP_ID '">';
$.each(json[key].EVENTS, function(subkey) {
html = '<a href="' json[key]EVENTS[subkey].SHORT_DESC '">';
...
Ответ №1:
Также назначьте вторую переменную для $.each function()
, что значительно упрощает задачу, поскольку она предоставит вам данные (так что вам не придется работать с указателями).
$.each(json, function(arrayID,group) {
console.log('<a href="' group.GROUP_ID '">');
$.each(group.EVENTS, function(eventID,eventData) {
console.log('<p>' eventData.SHORT_DESC '</p>');
});
});
Следует распечатать все, что вы пытались в своем вопросе.
http://jsfiddle.net/niklasvh/hZsQS/
редактировать переименованные переменные, чтобы было немного легче понять, что есть что.
Комментарии:
1. Это прекрасная вещь, работает как шарм. Я действительно ценю ваш ответ, точный и простой в реализации, еще раз спасибо