JQuery проверить выбранные поля условно - PullRequest
0 голосов
/ 14 февраля 2012

Мне нужно иметь возможность условно требовать проверки определенных полей на основе содержимого определенного поля выбора. Например, у меня есть следующий выбор:

<select name="new_jobType">
<option value="">Please select</option>
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
<option value="4">option 4</option>
</select>

Если выбран «вариант 4», мне нужно включить 5-6 других полей выбора для проверки.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 14 февраля 2012

Я мог бы сделать что-то вроде этого:

var validations = new Array();

$('select[name="new_jobType"]').change(function() {
    var thisJob = $(this + " option:selected").val();

    if(thisJob == 4) {
        validations.push("thisJobValidations");
    }
});

Просто отправьте все подпрограммы проверки, которые нужно запустить, в этот массив проверок, а затем отправьте:

for(var i = 0; i < validations.length; i++) {
    eval(validations[i] + "();");
}

И у вас были бы функции для выполнения действительных проверок:

function thisJobValidations() {
    // validation magic happens here
}

eval() внутри цикла for выполнит процедуру (ы) проверки на основе того, что было помещено в массив validations.

Таким образом, вы можете сегментировать свои проверки в зависимости от того, какие условия были выполнены, и вам не нужно писать одну монолитную функцию проверки, которая была бы более подвержена ошибкам.

Инкапсулируйте все вещи !! : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...