Javascript 我可以使用jQuery检查是否至少选中了一个复选框吗?

Javascript 我可以使用jQuery检查是否至少选中了一个复选框吗?,javascript,jquery,Javascript,Jquery,我有下面的HTML表单,它可以有许多复选框。单击submit按钮时,我希望用户获得一个javascript警报,如果没有选中复选框,则至少选中一个复选框。使用jQuery有没有一种简单的方法可以做到这一点 <form name = "frmTest" id="frmTest"> <input type="checkbox" value="true" checked="true" name="chk[120]"> <input type="checkbox"

我有下面的HTML表单,它可以有许多复选框。单击submit按钮时,我希望用户获得一个javascript警报,如果没有选中复选框,则至少选中一个复选框。使用jQuery有没有一种简单的方法可以做到这一点

<form name = "frmTest" id="frmTest">
  <input type="checkbox" value="true" checked="true" name="chk[120]">
  <input type="checkbox" value="true" checked="true" name="chk[128]">
  <input type="checkbox" name="chk[130]">
  <input type="checkbox" name="chk[143]">
  <input type="submit" name="btnsubmit" value="Submit">
</form>

如果至少选中了一个或多个复选框,则is(“:checked”)将返回true。

$("#show").click(function() {
    var count_checked = $("[name='chk[]']:checked").length; // count the checked rows
        if(count_checked == 0) 
        {
            alert("Please select any record to delete.");
            return false;
        }
        if(count_checked == 1) {
            alert("Record Selected:"+count_checked);

        } else {
            alert("Record Selected:"+count_checked);
          }
});
$('fm#u submit')。提交(函数(e){
e、 预防默认值();
var ck_box=$('input[type=“checkbox”]:checked')。长度;
//返回firefox或chrome控制台
//选中复选框的数目
控制台日志(检查盒);
如果(复选框>0){
警报(控制箱);
} 
});


$(“#frmTest:checkbox”)。在一定数量的复选框中选中长度>0会更好。为什么单选按钮会更好?如果OP需要至少一个选项,则选中的单选按钮将限制他最多只能选择一个。@David,我已删除该建议。您最好选择
。还要注意,选中属性的唯一可接受值是“选中”
checked=“true”
是一个错误。是否可以在实时复选框单击时进行检查?是的,但您将使用不同的事件处理程序。请参阅此::checked已返回布尔值,因此不需要.length。true.length和false.length都提供undefined@Jan-
jQuery('#frmTest input[type=checkbox]:checked')
返回一个jQuery对象,其中包含与选择器匹配的所有元素。它不返回布尔值。您可能会将其与
HTMLInputElement.checked混为一谈。对我来说不起作用,jQuery处理checkbox checked事件的方式发生了变化?
$("#frmTest").submit(function(){
    var checked = $("#frmText input:checked").length > 0;
    if (!checked){
        alert("Please check at least one checkbox");
        return false;
    }
});
if(jQuery('#frmTest input[type=checkbox]:checked').length) { … }
$('#frmTest').submit(function(){
    if(!$('#frmTest input[type="checkbox"]').is(':checked')){
      alert("Please check at least one.");
      return false;
    }
});
$("#show").click(function() {
    var count_checked = $("[name='chk[]']:checked").length; // count the checked rows
        if(count_checked == 0) 
        {
            alert("Please select any record to delete.");
            return false;
        }
        if(count_checked == 1) {
            alert("Record Selected:"+count_checked);

        } else {
            alert("Record Selected:"+count_checked);
          }
});