【发布时间】:2017-11-01 08:55:48
【问题描述】:
我需要使用 jquery 从许多输入中创建数组。我需要这样的结果来自 console.log(arr);
[{size: "m", quantity: "1"},{size: "l", quantity: "2"}]
相反,由于循环,我得到了两个相同的输出。
[{size: "m", quantity: "1"},{size: "l", quantity: "2"},{size: "m", quantity: "1"},{size: "l", quantity: "2"}]
这是html的一部分
<input type="hidden" name="size" id="size1" value="m">
<input type="hidden" name="size" id="size2" value="l">
<input type="text" name="qty" value="1" style="width: 30px;">
<input type="text" name="qty" value="2" style="width: 30px;">
这是jquery
$('#updatecart').click(function(){
var values = $('input[name="qty"]');
var myArray = $.map(values, function(element) {
return { quantity: element.value};
// return element.value;
});
var arr = [];
for (var i = 0; i < myArray.length; i++) {
$('input[name="size"]').each(function(){
var t = $(this).val();
arr.push({ size: t, quantity:myArray[i].quantity });
});
}
console.log(myArray);
console.log(arr);
});
提前致谢。
【问题讨论】: