0

当我设置 imArray 和 console.log() 时,控制台告诉我 members.[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());
        }
    }
});
4

3 回答 3

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());
    }
}
于 2012-12-27T23:10:54.917 回答
1

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

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

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

于 2012-12-27T23:08:28.597 回答
0

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

这部分:

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

变成这样的东西:

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

它获取生成的 HTML 并将其放入框中。

于 2012-12-27T23:12:45.063 回答