【发布时间】:2012-01-14 11:34:48
【问题描述】:
这让我很困惑。我可以轻松地将多选的值作为数组获取,并将其传递给 ajax 请求:
<select id="countries" class="multiselect" multiple="multiple" name="countries[]">
<option value="AFG">Afghanistan</option>
<etc>
...
$countries_input = $("#countries");
var countries = $countries_input.val();
$.ajax({
data: {
country : countries,
...
},
...
});
但我找不到任何等效的方法来获取具有多个选择的 checkbox 的值。明显的东西不起作用:
<input type="checkbox" name="check[]" value="foo1"/>foo1<br/>
<input type="checkbox" name="check[]" value="foo2"/>foo2<br/>
...
var bar = $('input:checkbox[name=check]').val(); // undefined
var bar = $('input:checkbox[name=check[]]').val(); // also undefined
var bar = $('input:checkbox[name=check]:checked').val(); // also undefined
有什么想法吗?谢谢。
【问题讨论】:
-
将属性选择器用引号括起来。
$('input:checkbox[name="check[]"]').val(); -
谢谢大家 - 我在这里学到了很多东西。我不喜欢 'answer tick' 的东西,但给了它 TJC,因为他早了一分钟... :) 不过我喜欢 jsFiddle 的东西。
标签: jquery forms jquery-selectors checkbox