Я использую проверку jQuery для проверки формы с установленной на ней радиокнопкой (для этого примера set = две радиокнопки). Переключатели с метками находятся ниже. Форма находится в диалоговом окне jQueryUI.
<input type="radio" name="chooseMe" value="Yes" id="radio_yes" /><label for="radio_yes">Yes</label>
<input type="radio" name="chooseMe" value="No" id="radio_no" /><label for="radio_no">No</label>
Я взял код выделения / отмены выделения со страницы плагина проверки на jquery.com
http://docs.jquery.com/Plugins/Validation/validate
(перейдите на вкладку «Параметры» и найдите «unhighlight»)
highlight: function (element, errorClass, validClass) {
$(element).addClass(errorClass).removeClass(validClass);
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).removeClass(errorClass).addClass(validClass);
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
},
Первая проблема, с которой я сталкиваюсь, заключается в том, что при проверке в соответствии с требованиями выделяется только метка «Да».
Вторая проблема - если я не разрешаю проблему проверки и отменяю из диалогового окна jQueryUI, а затем возвращаюсь в диалоговое окно, ярлык «Да» полностью исчезает.
Чтобы решить первую проблему, я хочу выделить метки «Да» и «Нет». Таким образом, работая над кодом выделения, мне нужно было бы получить имя входа ("chooseMe") из идентификатора элемента, а затем из этого имени, для всех идентификаторов, связанных с этим именем ("radio_yes" и "radio_no") выделите все метки. Конечно, есть и обратный код для невыделенного кода.
Поскольку у меня есть несколько наборов радиокнопок в форме, мне нужно, чтобы это было общим (без жесткого кодирования "chooseMe" и т. Д.)
Это звучит разумно? Если так, то единственная проблема в том, что я не знаю, как это сделать:)
Заранее спасибо.
jsFiddle согласно запросу:
http://jsfiddle.net/Bd688/4/