如何使用数组遍历一组输入

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();