Jquery,将对象/数组中的两位信息输出到一个警告框中

时间:2015-05-25 18:47:43

标签: arrays json loops object for-loop

下午,jquery的新手,阅读Jon Duckett的书,虽然非常有用,试图输出一个简单的警报。我想要做的是在同一个提醒框中输出 title1 title2

我也尝试过$ .each(),但没有运气,也没有那么理解。

    var json = {"myalert":[{"id":"1","title1":"Test1","title2":"Test1 - second"},{"id":"2","title1":"Test2","title2":"Test2  - second"}]}


    for (var i = 0; i < 2; i++){

    alert(json["myalert"][i].title1,  json["myalert"][i].title2);

    }

除了可能不正确的语法之外,我完全走错了路线?弹出警报框仅显示title1。如果我输出到HTML但它显示title1两次!

谢谢,詹姆斯

1 个答案:

答案 0 :(得分:0)

这将使用单个循环执行您想要的操作:

var json = {"myalert":[{"id":"1","title1":"Test1","title2":"Test1 - second"},{"id":"2","title1":"Test2","title2":"Test2  - second"}]};
var alertText = '';
for (var i = 0; i < 1; i++){
  alertText += json["myalert"][i].title1 + ' ' + json["myalert"][i+1].title2;  
}
alert(alertText);

或者你可以在没有循环的情况下做同样的事情:

var json = {"myalert":[{"id":"1","title1":"Test1","title2":"Test1 - second"},{"id":"2","title1":"Test2","title2":"Test2  - second"}]};
var alertText = json["myalert"][0].title1 + ' ' + json["myalert"][1].title2;
alert(alertText);