Использую remote jQuery validation для елемента select. Но при сабмите формы, jQuery шлет множество запросов по валидации поля select и форма не сабмитится. Хотя для елемента input все работает нормально. После многих часов исследований, нашел ошибку - в коде jquery.validate.js есть следующий код:
Код:
if ( previous.old === value ) {
return previous.valid;
}
и даже если я не менял выбранный елемент в листе, он объект value всегда будет другим.
Например:
Код:
$("input[name=Name]").val() === $("input[name=Name]").val()
true
Код:
$("select[name=Items]").val() === $("select[name=Items]").val()
false
То есть, вероятно, при сабмите, форма опьять проверяет это поле (шлет запрос на сервер), и потом снова, потому что считает, что его значение изменилось.
Кто нибудь знает, как это пофиксить?
Добавлено через 1 час 35 минут
Проблемма решена. Если кому интересно, перезагрузил метод $.validator.prototype.elementValue, где я смотрю, если значение элемента массив, и $element.data("previousValue").old также массив, и они равны, я возвращаю предыдущее значение.
Тему можно закрывать.