我有一个样本:
<input type="checkbox" id="in-category-1" name="post_category[]" value="1">
<input type="checkbox" id="in-category-2" name="post_category[]" value="2">
<input type="checkbox" id="in-category-3" name="post_category[]" value="3">
<input type="checkbox" id="in-category-4" name="post_category[]" value="4">
<input type="checkbox" id="in-category-5" name="post_category[]" value="5">
和jquery:
var selectednumbers = [];
jQuery('input[type=checkbox]').each(function(i, selected) {
selectednumbers[i] = jQuery(selected).val();
});
alert(selectednumbers);
=&GT;选中并取消选中时,错误无法获取值
答案 0 :(得分:1)
您可以使用change()事件获取所选值以及map()方法来检索您的数组:
jQuery('input[type=checkbox]').on("change", function () {
var selectednumbers = jQuery('input[type=checkbox]:checked').map(function () {
return this.value;
}).get();
alert(selectednumbers);
});
<强> Fiddle Demo 强>
答案 1 :(得分:0)
如果您想在数组中包含所选项目值,请使用.map()
var selectednumbers = jQuery('input[type=checkbox]:checked').map(function (i, selected) {
return this.value;
}).get();
alert(selectednumbers);
答案 2 :(得分:0)
要获取已选中状态,您无法使用val()
使用.checked
属性:
selectednumbers[i] = selected.checked;
答案 3 :(得分:0)
将更改事件绑定到复选框
jQuery('input[type=checkbox]').on("change",function(){
var selectednumbers = [];
jQuery('input[type=checkbox]').each(function(i, selected) {
selectednumbers[i] = selected.value + ' : ' + selected.checked;
});
alert(selectednumbers);
})