如何使用数组迭代一组输入

时间:2015-03-20 07:26:11

标签: jquery html selector

我有一组输入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(){

});

2 个答案:

答案 0 :(得分:1)

由于您使用的是以selector开头的属性,因此仅指定writing[size]所有元素之间共享的属性vaule的一部分,当您在末尾添加[]时name属性以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]" />
&#13;
&#13;
&#13;

答案 1 :(得分:1)

作为替代方案,您也可以尝试将其转换为数组并使用for循环遍历它。

var arr = $('input[id^="writing[size]"]').toArray();