Я пытаюсь предотвратить плагин jQuery Validation от проверки, если выбран вариант определенной формы (только для телефона) с помощью $ ("# form_id"). Rules ("remove", "required"); но он не работает ...Удаление проверки jQuery «на лету»
Все, что я получаю, является ошибкой javascript, когда я выбираю только телефон: «TypeError: Результат выражения« F »[undefined] не является объектом, и форма не будет отправляться так как она по-прежнему проверки необходимых полей.
//field validation
$('#location').change(function(){
location_val = $('#location').val();
if (location_val == "select") {
$('.hide').hide();
}
else if (location_val == "my_location") {
$('.hide').hide();
$('#f_address, #f_address2, #f_city, #f_state_zip, #f_phone').customFadeIn('fast');
$("#step2").rules("add", "required");
}
else if (location_val == "customers_location") {
$('.hide').hide();
$('#f_area, #f_phone, #f_city, #f_state_zip').customFadeIn('fast');
$("#step2").rules("add", "required");
}
else if (location_val == "both") {
$('.hide').hide();
$('#f_area, #f_address, #f_address2, #f_city, #f_state_zip, #f_phone').customFadeIn('fast');
$("#step2").rules("add", "required");
}
else if (location_val == "phone") {
$('.hide').hide();
$('#f_phone').customFadeIn('fast');
$("#step2").rules("remove", "required");
}
});
$("#step2").validate({
rules: {
city: {required: true},
state: {required: true},
zip: {required: true}
}
});
Insights оценили.
Я думаю, что $ (this) .rules ("remove") удалит все правила, а не только нужные? – user1016945