ASP.NET 4.51 WebForms,jQuery 2.0.3
<div class="row">
<div class="col-xs-3 col-sm-3 col-md-3">
<div class="checkbox">
<label>
<asp:CheckBox ClientIDMode="Static" ID="chkAgree" runat="server" />I Agree
</label>
</div>
<br/>
<asp:CustomValidator ID="cfvAgree" runat="server" ValidationGroup="Default" ErrorMessage="Agree to terms and conditions." ClientValidationFunction="CheckTermsAndConditions" CssClass="label label-danger"></asp:CustomValidator>
</div>
和java脚本:
<script type="text/javascript">
function CheckTermsAndConditions(aSource, aArgs) {
if ($('#checkbox').prop('checked')) {
console.log("true");
aArgs.IsValid = true;
} else {
console.log("false");
aArgs.IsValid = false;
}
}
</script>
问题是即使选中复选框,它也总是返回false。我相信我在这里遗漏了一些明显的东西,但它是什么?
答案 0 :(得分:1)
页面上没有任何ID为checkbox
的内容,因此我非常确定您的选择器是错误的。它应该是#chkAgree
答案 1 :(得分:0)
不应该是
if ($('#chkAgree').prop('checked'))
答案 2 :(得分:0)
如果您的页面中只有一个复选框,您可以尝试:
if ($("input:checkbox").prop('checked'))
另外,你的选择器是错误的。给出适当的ID供选择。