Я использую плагин jQuery Validation (http://docs.jquery.com/Plugins/Validation) в форме, которую я создаю. Форма состоит из 6 наборов полей, каждый из которых содержит 3 текстовых ввода для адреса электронной почты, имени и фамилия. Упрощенная версия разметки выглядит так:
<form id="ref" action="submit.php" method="post">
<fieldset id="ref_1">
<input id="ref_1_email" type="text" />
<input id="ref_1_fname" type="text" />
<input id="ref_1_lname" type="text" />
</fieldset>
<fieldset id="ref_2">
<input id="ref_2_email" type="text" />
<input id="ref_2_fname" type="text" />
<input id="ref_2_lname" type="text" />
</fieldset>
<fieldset id="ref_3">
<input id="ref_3_email" type="text" />
<input id="ref_3_fname" type="text" />
<input id="ref_3_lname" type="text" />
</fieldset>
</form>
и т. Д. До ref_6. Тем не менее, пользователю не обязательно заполнять каждое поле - он может только выбрать заполнение входных данных внутри fieldset # ref_1 и fieldset # ref_2 и оставить остальные пустыми. Но если они введут, например, адрес электронной почты для ref_1, потребуется также имя и фамилия для ref_1. Поэтому мне нужно проверить все 3 входа в наборе полей. Если они все не заполнены, их можно игнорировать, однако, если один из входных данных заполнен, его два соседа также должны быть заполнены. Все мои попытки до сих пор были очень громоздкими (следя за изменениями в каждой из них, а затем оценивая, не опустели ли они ...), любая помощь будет очень, очень признательна.
Спасибо
Обновление:
Я нашел сообщение с похожей проблемой, с предлагаемым решением:
$('#emailToName2').keyup(function () {
$('#emailToAddress2').toggleClass('required', $(this).val());
});
Но для этого требуется, чтобы вышеуказанная логика была продублирована для каждого входа, что кажется мне излишним. Какой будет более динамичный подход?
Ура!