我有一個對象數組並希望將其值插入一組輸入中。我認爲使用jQuery的val()
質量分配這些值在幾個for循環,但它只返回兩個對象的最後一個值。我究竟做錯了什麼?更好的是,有沒有更好的方式來做到這一點,而不必循環3次?將對象數組中的值插入到一組元素中
$(function() {
var arr = [{v1: 1, v2: 2, v3: 3, v4: 4}, {v1: 5, v2: 6, v3: 7, v4: 8}];
for (var i = 0; i < arr.length; i++) {
for (key in arr[i]) {
$('input').val(function(index) {
return arr[i][key]
});
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" />
</div>
<div>
<input type="text" />
<input type="text" />
<input type="text" />
<input type="text" />
</div>
假設'arr'的結構不能改變是否正確? – Stryner
正確。我從API中檢索這些對象,但爲了演示而在這裏硬編碼了一個小陣列。 –