我正在尝试在对象数组收到必要的输入并且已提交显示之后在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']);
};
}
但是这只显示了最后一个增值,你能告诉我一个方法来修补它吗?
答案 0 :(得分:3)
您当前的代码在每次迭代时覆盖了元素的整个HTML,因此只有最后一个可见。改变这个:
$("#users").html(users[i]['name']);
要:
$("#users").append(users[i]['name']);
答案 1 :(得分:2)
试试这个,在你使用html的for循环中,它取代了该元素中的所有内容,使用.append()而不是
$('#users').append(users[i]['name']);
答案 2 :(得分:0)
将html
更改为append
。你在每次迭代时清除HTML。
$("#users").empty();
for (var i = 0; i <= users.length; i++) {
$("#users").append(users[i]['name']);
};