我一直在尝试在循环内创建对象。下面是我的代码。
<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"}
最佳答案
以下是可能的解决方案之一:
function getDetails(){
var myObj = [];
$('.personDetails').each(function() {
var person = {};
$(this).children().each(function(){
person[$(this).attr('id')] = $(this).val();
});
myObj.push(person)
});
console.log(myObj);
}
关于循环内创建 Javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43982100/