微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JQuery $.each()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+'">';
 ...

解决方法

为$ .each函数()分配第二个变量,使它更容易,因为它将为您提供数据(因此您不必使用标号)。
$.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/

编辑重命名变量,使其更容易理解什么是什么。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐