如何使用复选框数组的id检查复选框数组中的复选框是否选中?
我正在使用以下代码,但它总是返回选中复选框的计数,而不管id如何。
function isCheckedById(id) {
alert(id);
var checked = $("input[@id=" + id + "]:checked").length;
alert(checked);
if (checked == 0) {
return false;
} else {
return true;
}
}
$('#' + id).is(":checked")
如果选中该复选框,则会出现这种情况。
对于具有相同名称的复选框数组,您可以通过以下方式获得选中复选框列表:
var $boxes = $('input[name=thename]:checked');
然后,要循环浏览它们并查看检查内容,您可以执行以下操作:
$boxes.each(function(){
// Do stuff here with this
});
要查找检查的数量,您可以执行以下操作:
$boxes.length;
$('#' + id).is(":checked")
如果选中该复选框,则会出现这种情况。
对于具有相同名称的复选框数组,您可以通过以下方式获得选中复选框列表:
var $boxes = $('input[name=thename]:checked');
然后,要循环浏览它们并查看检查内容,您可以执行以下操作:
$boxes.each(function(){
// Do stuff here with this
});
要查找检查的数量,您可以执行以下操作:
$boxes.length;
ID在文档中必须是唯一的,这意味着您不应该这样做:
<input type="checkbox" name="chk[]" id="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" id="chk[]" value="Bananas" />
相反,删除ID,然后按名称或包含元素选择它们:
<fieldset id="checkArray">
<input type="checkbox" name="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" value="Bananas" />
</fieldset>
现在jQuery:
var atLeastOneIsChecked = $('#checkArray:checkbox:checked').length > 0;
//there should be no space between identifier and selector
// or, without the container:
var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;