动态数据插入Javascript数组

时间:2012-12-27 23:02:27

标签: javascript jquery

当我设置imArray和console.log()时,控制台告诉我成员的每个值。[i1] .friendId的值为0.我有大约5个传递给imArray的值。这是我第一次使用动态数组循环。如果可以的话,请向我解释如何正确地将这些数据输出到数组中。

$.getJSON("<?=base_url()?>index.php/regUserDash/chatBoxMembers", function(data) {
    var members = data.chatMembers;
    for(var i1 = 0; i1 < members.length; i1++) {
        var imArray = [members[i1].friendId];
        if(members[i1].activityStatus === 'Minimized') {
            function minimizedBox() {
                return '<span style="position: relative; left: 84px; font-family: Verdana; font-size: 8pt" class="clickForMessageBox">' + members[i1].firstname + ' ' + members[i1].lastname + '</span>&nbsp;&nbsp;&nbsp;';
            } $('#box1').append(minimizedBox());
        }
    }
});

3 个答案:

答案 0 :(得分:2)

在外部声明数组,然后您可以在每个周期中push数据:

var imArray = []; 

for(var i1 = 0; i1 < members.length; i1++) {
    //var imArray = [members[i1].friendId];
    imArray.push(members[i1].friendId);
    if(members[i1].activityStatus === 'Minimized') {
        function minimizedBox() {
            return '<span style="position: relative; left: 84px; font-family: Verdana; font-size: 8pt" class="clickForMessageBox">' + members[i1].firstname + ' ' + members[i1].lastname + '</span>&nbsp;&nbsp;&nbsp;';
        } $('#box1').append(minimizedBox());
    }
}

答案 1 :(得分:1)

我认为您想要将值附加到数组中:

var imArray = [];
for (var i1 = 0 ...
   imArray.append(members[i1].friendId]);

使用您的代码,您只需将imArray设置为每次都有一个值的数组。

答案 2 :(得分:0)

您的代码似乎将返回的数据放入屏幕上的可见数组中。如果您正在做的事情,您可能希望使用this link获取有关如何添加到DOM以使某些内容在屏幕上可见的更多信息。

这部分:

$('#box1').append(minimizedBox());

变成了类似的东西:

$(minimizedBox()).appendTo('#box1');

将生成的HTML放在框中。