1

関連するチェックボックスのグループを持つasp.net Webフォームがあります。送信ボタンがクリックされたときに、グループで少なくとも 1 つのチェックボックスがオンになっていることを確認したいと思います。2 つの異なるソリューションを実装しようとしましたが、成功しませんでした。チェックされたチェックボックスの長さをクラス名で返そうとすると、0 が返されます。ischecked の値を名前で返そうとすると、false が返されます。ページのソースを表示すると、チェックボックスに「checked」属性があります。誰かが私の 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 に答える