如何使用数组遍历一组输入
How to iterate through a set of input with array
我有一组 ID 如下所示的输入
writing[size][1]
writing[size][2]
writing[size][3]
writing[size][4]
我正在使用下面的代码进行迭代但失败了
$('input[id^="writing[size][]"]').each(function(){
});
如何使用 each() 遍历它们?
我试过另一组没有数组的输入,比如
radio_1
radio_2
radio_2
我使用下面的代码成功地迭代了它们,但没有用数组输入
$('input:radio[id^="radio_"]').each(function(){
});
由于您正在使用以选择器开头的属性,因此当您在末尾添加 []
时,仅指定所有元素之间共享的属性值部分 writing[size]
=24=] 的名称属性以 writing[size][]
开头,因此未选择任何元素。
$('input[id^="writing[size]"]').each(function(){
});
$('input[name^="writing[size]"]').each(function(i) {
this.value = i;
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="writing[size][1]" />
<input name="writing[size][2]" />
<input name="writing[size][3]" />
<input name="writing[size][4]" />
作为替代方案,您也可以尝试将其转换为数组并使用 for 循环遍历它。
var arr = $('input[id^="writing[size]"]').toArray();
我有一组 ID 如下所示的输入
writing[size][1]
writing[size][2]
writing[size][3]
writing[size][4]
我正在使用下面的代码进行迭代但失败了
$('input[id^="writing[size][]"]').each(function(){
});
如何使用 each() 遍历它们?
我试过另一组没有数组的输入,比如
radio_1
radio_2
radio_2
我使用下面的代码成功地迭代了它们,但没有用数组输入
$('input:radio[id^="radio_"]').each(function(){
});
由于您正在使用以选择器开头的属性,因此当您在末尾添加 []
时,仅指定所有元素之间共享的属性值部分 writing[size]
=24=] 的名称属性以 writing[size][]
开头,因此未选择任何元素。
$('input[id^="writing[size]"]').each(function(){
});
$('input[name^="writing[size]"]').each(function(i) {
this.value = i;
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="writing[size][1]" />
<input name="writing[size][2]" />
<input name="writing[size][3]" />
<input name="writing[size][4]" />
作为替代方案,您也可以尝试将其转换为数组并使用 for 循环遍历它。
var arr = $('input[id^="writing[size]"]').toArray();