【发布时间】:2012-03-06 10:32:40
【问题描述】:
我正在使用 JQuery 根据组合框的选定值隐藏/显示 div。这部分工作正常。但是,当隐藏 div 时,jquery 函数还应该禁用该 div 中的 3 个RequiredFieldValidators。我一直在网上寻找,似乎可以使用以下方法轻松完成:
ValidatorEnable(ValidatorName, false);
但是当我尝试使用该方法时,没有任何效果,即使 div 被隐藏,RequiredFieldValidators 仍然显示错误。
我的 JQuery 函数:
<script type="text/javascript">
$(document).ready(function () {
var det = $("#SponsorDetails");
$(det).hide();
var all = $("#AllDetails");
$(all).hide();
$("#<%=SelectAccount.ClientID %>").click(function () {
//hide social worker and sponsor stuff
var value = $("#<%=SelectAccount.ClientID %> option:selected").val();
if (value == "Social_Worker") {
//show social worker stuff
$("#AllDetails").show("slow");
$("#SponsorDetails").hide("slow");
ValidatorEnable(document.getElementById("#<%=AddressValidator.ClientID %>"), false);
ValidatorEnable(document.getElementById("#<%=CityValidator.ClientID %>"), false);
ValidatorEnable(document.getElementById("#<%=CountryValidator.ClientID %>"), false);
} else if (value == "Sponsor") {
//show sponsor stuff
$("#AllDetails").show("slow");
$("#SponsorDetails").show("slow");
ValidatorEnable(document.getElementById("#<%=AddressValidator.ClientID %>"), true);
ValidatorEnable(document.getElementById("#<%=CityValidator.ClientID %>"), true);
ValidatorEnable(document.getElementById("#<%=CountryValidator.ClientID %>"), true);
}
});
});
</script>
有人建议我可以使用验证组或自定义验证器,但使用 jquery 似乎要简单得多,但我不知道为什么它不起作用。
【问题讨论】:
标签: jquery asp.net validation