1

我有一个带有一组相关复选框的 asp.net 网络表单。我想验证单击提交按钮时组中是否至少选中了一个复选框。我尝试实施两种不同的解决方案,但均未成功。当我尝试按类名返回选中复选框的长度时,我收到 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>
4

1 回答 1

3

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);
    });
});
于 2013-05-16T03:31:14.113 回答