我试图用jQuery获取2个输入的值,但我们用于复选框的数组选择器不起作用。如何获取下面示例代码的值。
<input name="person[name]">
<input name="person[age]">
<script>
$("input[name='person[]']").val();
</script>
答案 0 :(得分:2)
使用合并的attribute starts with和attribute ends with选择器。最后使用map()
方法迭代元素并生成值数组。如果你只是想迭代它们,那么each()
方法就足够了this
可以用来引用回调中元素的dom对象。
$("input[name^='person['][name$=']']")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="person[name]">
<input name="person[age]">
<script>
console.log(
$("input[name^='person['][name$=']']").map(function() {
return this.value
}).get()
)
</script>
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="person[name]">
<input name="person[age]">
<script>
$("input[name^='person['][name$=']']").each(function() {
console.log(this.value);
})
</script>
&#13;
答案 1 :(得分:0)
$("input[type='checkbox'][name='ProductCode']").each(function(){ ...
答案 2 :(得分:-1)
您可以将*=
用于包含。或^=
开头。
示例强>
$("input[name*='person['").each(function(){
console.log($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="person[name]" value="test">
<input name="person[age]" value="ok">