【发布时间】:2017-05-15 14:29:38
【问题描述】:
我一直在尝试在循环中创建对象。下面是我的代码。
<div class="container">
<div class="personDetails">
<input type="text" class="abc" id="Name1">
<input type="text" class="abc" id="Age1">
</div>
<br /><br />
<div class="personDetails">
<input type="text" class="abc" id="Name2">
<input type="text" class="abc" id="Age2">
</div>
<button onclick="getDetails()">Check Value</button>
</div>
下面是javascript..
function getDetails(){
var myObj = {};
$('.personDetails').each(function(){
$(this).children().each(function(){
myObj[$(this).attr('id')] = $(this).val();
});
});
console.log(myObj);
}
下面是它在控制台中的样子。但我不想把它全部归为一个对象。我想要的是每个人都应该在那个 .each 循环中创建每个对象。我知道我很亲密,但不知道我做错了什么。
Object {Name1: "cfr", Age1: "15", Name2: "fgatat", Age2: "25"}
我想做的事
person1 {Name: "cfr", Age: "15"},
person2 {Name: "fgatat", Age: "25"}
【问题讨论】:
-
在循环外创建一个数组,在循环内创建每个新对象,并将每个新对象添加到数组中。
-
我正在这样做,但我把它搞砸了。请告知您是否可以复制粘贴它应该像的功能。麻烦您了,谢谢
-
这样做的目的是什么?通常,您使用输入从用户那里收集数据,并将该数据用于某些事情,例如将其发送到服务器,然后您根本不会这样做,您只需序列化输入即可
-
我不想使用表单,所有名为 personDetails 的 div 都将通过 jquery 动态添加,具体取决于他们想要多少个 div,然后当单击按钮时,我想遍历每个字段并过滤它的值,它们当然会使用 $.ajax 发送到服务器。服务器端脚本知道他期望有多少对象,并将遍历所有对象并存储在数据库中。一个发布的对象将有一个或多个对象。
标签: javascript jquery arrays json object