Я использую JQuery, чтобы скрыть / показать div в зависимости от выбранного значения поля со списком. Эта часть отлично работает. Однако при скрытии элемента div функция jquery также должна отключить 3 RequiredFieldValidators, которые находятся в этом элементе div. Я искал в Интернете, и кажется, что это легко сделать, используя:
ValidatorEnable(ValidatorName, false);
Но когда я пытаюсь использовать этот метод, ничего не работает, RequiredFieldValidators по-прежнему отображает ошибку, даже если div скрыт.
Моя функция 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 кажется намного проще, но я не знаю, почему это не сработает.