Я пытаюсь создать собственный метод проверки в JQuery, и мне не удается заставить его работать должным образом.
Вот что я хочу сделать:
<div class="row">
<label for="fld-stories">Stories</label>
<select id="fld-stories" class="valid" name="stories" title="">
<option value="">--</option>
<option value="1" label="1">1</option>
<option value="2" label="2">2</option>
<option value="3" label="3">3</option>
<option value="4" label="4">4</option>
<option value="5" label="5">5</option>
</select>
</div>
<div id="row_master_bedroom_location" class="row">
<label for="fld-master_bedroom_location">Master Bedroom Location</label>
<select id="fld-master_bedroom_location" name="master_bedroom_location" title="">
<option value="up">Upstairs</option>
<option value="down">Downstairs</option>
</select>
</div>
Если пользователь выбирает расположение главной спальни наверху (см. Второй выбор), количество этажей для дома должно быть больше или равно 2 (что логично, так как главная спальня не может быть наверху, если есть только один этаж).
Для этого я пытаюсь добавить собственный метод в мой валидатор JQuery:
$.validator.addMethod('masterBedroomLocation', function(value, element, params) {
if (value == 'up' && $("#fld-stories").val() < 2){
return false;
}
}, 'You cannot select "Upstairs" for a one–story home');
Я не уверен, как получить значение другого элемента в форме, япопробовал старый способ JQuery, но он, похоже, не работает.
Для дополнительной информации я добавляю пользовательский метод в глобальные файлы javascript, в функцию, которая связывает проверку JQuery с каждой формой, которая имеетспециальное имя класса.