JQuery 验证至少一个复选框被选中

标签 jquery

我有一个 ASP.NET Web 表单,其中包含一组相关的复选框。我想验证单击提交按钮时组中是否至少选中了一个复选框。我尝试实现两种不同的解决方案,但没有成功。当我尝试按类名返回选中复选框的长度时,我收到 0。当我尝试按名称返回 ischecked 值时,我收到 false。如果我查看页面源,则复选框具有“已选中”属性。有人可以检查我的 html 并让我知道我是否做错了什么吗?

  <tr>
      <td  colspan="2">
      <asp:CheckBox ID="cbga" runat="server"  CssClass="group1" name="group1[]" Text="A" />
      <asp:CheckBox ID="cbgb" runat="server" CssClass="group1"  name="group1[]" Text="B" />
     <asp:CheckBox ID="cbgc" runat="server" CssClass="group1"  name="group1[]" Text="C" />
</tr>

function ValChk(source, args) {
              var IsChecked = $(".group1:checked").length;//returns zero
           // var IsChecked = $('input[name="group1[]"]').is(':checked'); //returns false
              alert(IsChecked);    
        }

 <asp:CustomValidator ID="cvchks" runat="server" Display="dynamic"   
      ClientValidationFunction="ValChk" ErrorMessage="Please select a code"                                         
></asp:CustomValidator>

最佳答案

Working FIDDLE Demo

我认为您的 ValChk 未触发。请参阅下面的代码。它工作正常。

HTML

<input type="checkbox" class="group1" />
<input type="checkbox" class="group1" />
<input type="checkbox" class="group1" />

<input type="button" id="check" />

jQuery
$(function () {
    $('#check').on('click', function () {
        var IsChecked = !! $('.group1:checked').length;
        alert(IsChecked);
    });
});

关于JQuery 验证至少一个复选框被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16578325/

相关文章:

javascript - mark.js 不高亮单词?

jquery - 输出用户在文本区域中输入的特定值

jquery - Knockoutjs 和模板 : How to inject a string template without involving the DOM?

javascript - 从数组设置背景图像不起作用?

javascript - 如何在悬停时更改页面上的元素?

jQuery简单左右动画

javascript - 第二次 ajax 发布时 Laravel csrf token 不匹配

javascript - jQuery 为表格的每个元素打印一个带有背景颜色的特定 div

javascript - 如何从数据库中检索二进制图像以通过 Ajax 调用查看

javascript - 为什么 ng-click 需要通过 $index 进行跟踪才能在嵌套的 ng-repeat 中触发