2

在对象数组收到必要的输入并已提交显示后,我试图在 div 上设置刷新。到目前为止,我已经这样做了:

  var users = [
    {name: "John Smith", description: "Some chap", image: "None"},
    {name: "Elizabeth II", description: "A fancy lass", image: "None"}
  ];

  function arrayAdd() {
    var title_text = $("#title_text").val();
    var description_text = $("#description_text").val();
    var image_text = $("#image_text").val();

    users.push({name:title_text,description:description_text,image:image_text});
    console.log(users);

    for (var i = 0; i <= users.length; i++) {
      $("#users").html(users[i]['name']);
    };
  }

但这仅显示了最后的附加值,你能告诉我一个解决这个问题的方法吗?

4

3 回答 3

3

您当前的代码在每次迭代时都会覆盖元素的整个 HTML,因此只有最后一个是可见的。改变这个:

$("#users").html(users[i]['name']);

到:

$("#users").append(users[i]['name']);
于 2013-09-16T07:52:41.873 回答
2

试试这个,在你使用 html 的 for 循环中,它使用 .append() 替换该元素内的所有内容

$('#users').append(users[i]['name']);
于 2013-09-16T07:52:20.920 回答
0

更改htmlappend。您在每次迭代中清除 HTML。

$("#users").empty();

for (var i = 0; i <= users.length; i++) {
  $("#users").append(users[i]['name']);
};
于 2013-09-16T07:52:35.640 回答