我有一个带有一组相关复选框的asp.net webform。我想确认在单击提交按钮时,组中至少选中了一个复选框。我试图实现两种不同的解决方案但没有成功。当我尝试按类名返回已选中复选框的长度时,我收到0.当我尝试按名称返回缺失值时,我收到错误。如果我查看页面源,则复选框具有“已检查”属性。有人可以查看我的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>
答案 0 :(得分:3)
我认为你的ValChk
没有触发。请参阅下面的代码。它工作正常。
<input type="checkbox" class="group1" />
<input type="checkbox" class="group1" />
<input type="checkbox" class="group1" />
<input type="button" id="check" />
$(function () {
$('#check').on('click', function () {
var IsChecked = !! $('.group1:checked').length;
alert(IsChecked);
});
});