我有一组输入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(){
});
答案 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;
答案 1 :(得分:1)
作为替代方案,您也可以尝试将其转换为数组并使用for循环遍历它。
var arr = $('input[id^="writing[size]"]').toArray();