Answers:
你可以用这样的东西
if ($("#formID input:checkbox:checked").length > 0)
{
// any one is checked
}
else
{
// none is checked
}
$("#formID input:checkbox:checked").length
在这里也足够了
if ($("#formID input:checkbox:checked").length){}
(不含>0
)就足够了,因为0是一个假值,请参阅james.padolsey.com/javascript/truthy-falsey
:checkbox
选择器说:For better performance in modern browsers, use [type="checkbox"]
,请参阅api.jquery.com/checkbox-selector-与单选按钮btw,use [type="radio"] rather than :radio
api.jquery.com / radio
jQuery .is
将测试所有指定的元素,如果其中至少一个与选择器匹配,则返回true:
if ($(":checkbox[name='choices']", form).is(":checked"))
{
// one or more checked
}
else
{
// nothing checked
}
.is(":checked")
您的解决方案更具表现力,但不确定其余部分。
$("form input[type=checkbox]").is(":checked")
可能是一种更简单,更通用的方法。
is
可能会更好,因为它一发现就会停止。
你可以这样做:
if ($('#form_id :checkbox:checked').length > 0){
// one or more checkboxes are checked
}
else{
// no checkboxes are checked
}
哪里:
:checkbox
选择器说:For better performance in modern browsers, use [type="checkbox"]
,请参阅api.jquery.com/checkbox-selector
无需使用“长度”,您可以这样做:
if ($('input[type=checkbox]').is(":checked")) {
//any one is checked
}
else {
//none is checked
}
您可以在.length
这里简单地返回:
function areAnyChecked(formID) {
return !!$('#'+formID+' input[type=checkbox]:checked').length;
}
这将以给定的形式查找复选框,查看是否存在复选框,如果存在则:checked
返回true
(因为长度否则为0)。为了更清楚一点,这是非布尔值转换后的版本:
function howManyAreChecked(formID) {
return $('#'+formID+' input[type=checkbox]:checked').length;
}
这将返回检查数量的计数。
Rahul的答案最适合您的问题。无论如何,如果您有一组要检查的复选框而不是表单中的所有复选框,则可以进行选择。
为要检查的所有复选框输入一个类名test_check
,例如,一个类名,现在您可以通过以下方式检查是否选中了属于该组的任何复选框:
$("#formID .test_check:checked").length > 0
如果返回true
,则假定选中一个或多个具有类名的test_check
复选框,如果不返回则不选中false
。
希望它可以帮助某人。谢谢 :)-
这是解决此问题的最佳方法。
if($("#checkbox").is(":checked")){
// Do something here /////
};