Я пытаюсь написать универсальную функцию, которую я могу использовать с плагином проверки jquery, который сделает поле обязательным на основе значения другого поля.Вот что я хочу, чтобы произошло:
- Если значение поля 1 находится в указанном массиве значений (в настоящее время выполняется тестирование с «Нет», «н / д» и «0») или пусто, ничего не делать.В противном случае сделайте обязательным поле 2.
Получение значения поля 1 является проблемой.У меня не было проблем с тем, чтобы выяснить это с помощью ввода текста или <select>
, но я пытаюсь заставить его работать с радио и испытываю трудности.Вот отрывок из моего кода:
var value = $('[name="option"]').val(),
empty = ['no', '', 'n/a', '0'];
// If the input is not "empty", make the additional field required
if ($.inArray(value.toLowerCase(), empty) < 0) { // returns -1 if not found
required = true;
} else {
required = false;
}
Это работает для всего, что мне нужно, кроме радиоприемников, потому что кажется, что он читает значение первого радио, независимо от того, было ли оно проверено или нет.
Поле, которое вызовет «обязательный», будет либо одним из различных текстовых вводов (text
, url
, email
и т. Д.), Либо <select>
, либо набором с одним выбором.радио.Нет множественного выбора.Я передам эту функцию в качестве параметра required
в моей конфигурации проверки jquery для каждого поля, к которому я хочу применить его.Атрибут name
оцениваемого поля «прочее» будет доступен для него.
Вот мое демо, довольно уродливо, но есть примечания: http://jsfiddle.net/uUdX2/3/
IЯ пробовал несколько разных способов, используя is(':checked')
и селектор :checked
, но все они потерпели неудачу.Я удалил их из демонстрации, потому что они не работали.
Что мне нужно, чтобы это работало с радиостанциями и текстового типа или выбирал входы, не зная, какой тип ввода этобудет?