【问题标题】:JQuery mixing 2 $.each logicjQuery 混合 2 $.each 逻辑
【发布时间】:2014-11-17 00:32:50
【问题描述】:

我手头有点谜。

我有 2 个 $.each 块从 JSON 文件中获取数据,但我需要它们一个接一个,而不是先一个块再下一个块。我知道这是我的逻辑,但我似乎无法破解这个:-(

                //block 1
                if (entry.hasOwnProperty('class2')) 
                {   
                    $.each(entry.class2, function (index, data) 
                    {
                        test01 = this.name;
                    });

                }

                //block 2
                if (entry.hasOwnProperty('tutors')) 
                {   
                    $.each(tutors, function (index, data) 
                    {
                        test02 = this.fname;
                    });

                }

所以这两个都有多个条目,它目前正在做的是:

block 1, block 1, block1, block 2, block 2, block 2 // 根据条目数量。

我需要的是:

block 1, block 2, block 1, block 2, block 1, block 2 // 根据条目数量。

我尝试过使用函数,但没有成功,但这个逻辑在另一个 $.each 块内, 他们必须$.each 块内.

【问题讨论】:

    标签: jquery logic each


    【解决方案1】:

    我假设您使用的数据结构与 Accessing second array in a JSON decode using Jquery 中的数据结构相同

    使用单个$.each,利用index 来引用另一个数组中的对应元素:

    var class2 = raw00.allData[0];
    var tutor = raw00.allData[1];
    
    $.each(class2, function(index, data) {
        console.log(this.name);
        var that = tutor[index];
        console.log(that.fname);
    });
    

    【讨论】:

    • 再次感谢您的帮助 ;-) 但 entry.tutors 不与 entry.class2 一起查看 - 我收到此错误:entry.tutors 未定义
    • 你需要显示数据。我记得你的上一个问题,但其他阅读此问题的人都不清楚。
    • 我不得不稍作调整,但它奏效了 :-) 谢谢。 var class2 = msg.allData[0].class2;var tutor = msg.allData[1].tutor;
    猜你喜欢
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多