Я использую плагин проверки правильности jquery Tools, и у меня есть форма с несколькими разделами. В каждом разделе есть флажок вверху, который я хочу быть главным переключателем для каждого раздела - для программной функции включения/выключения (например, проверки) для текстовых полей & полей электронной почты в каждом разделе.Условно установлен атрибут полей ввода, если требуется, если флажок установлен с помощью jQuery
В принципе, я хотел бы условно установить атрибут полей ввода «текст» и/или «адрес электронной почты» на «требуется», если выбрана соответствующая группа. По общему признанию, я не так хорош с jQuery.
Каждая форма раздела аналогична ниже, но может иметь различное количество текста и/или электронной почты полей:
<input type="checkbox" group-name="mail" name="mail" id="mail_enable"
checked="<?= (chkConfig("mail_enable", 0) ? "yes" : "no"); ?>"
onChange="chkRequired('mail');"
title='check this box to send the specified reports to your email.' >
<label for="mail_enable">notify me when the batch is complete.</label></div>
<div class="left"><label for="lblemailid">Email Address: </label></div>
<div class="right"><input type="email" group-name="mail" name="mailto"
id="emailAddress" size="30" maxlength="50" />
Я создал атрибут называется имя-группы и все поля в доле в Секцию то же имя группы. и с помощью г-на Фредерика Хамиди (в нашем обсуждении ниже) мы изменили мою функцию. вот последняя версия:
function chkRequired(group){
var groupCheckBox = $("#" + group + "_enable");
var groupSelector = "[group-name='" + groupCheckBox.attr("group-name") + "']";
var fieldSelector = "input[type=text], input[type=email]";
if ($(groupCheckBox).is(':checked')) {
$(groupSelector).add(fieldSelector).attr("required");
} else {
$(groupSelector).add(fieldSelector).removeAttr("required");
}
}
Надеюсь, это поможет кому-то еще в подобной ситуации.
Я все еще не могу определить синтаксис селектора, чтобы прикрепить его к doc.ready() amd .change() по всему миру. но он работает, если вы назначите функцию событию onChange для полей вручную.
Кроме того, если кто-нибудь может помочь мне с синтаксисом validator.addMethod(), поэтому мы можем просто создать собственный метод проверки, который будет оценен.
Особая благодарность г-ну Фредерику Хамиди за помощь в разработке логики.
Я создал более подробный учебник, если кто-то заинтересован @http://www.logicwizards.net/2010/12/07/jquery-tools-custom-validator-mod/
Джо Негрон: Логические Wizards ~ NYC
не совсем там ... groupCheckBox.checked не всегда, кажется, изменить ... Я пытался «groupCheckBox.val()» , 'groupCheckBox.attr ("checked")! == null', 'groupCheckBox.checked' и '($ (groupCheckBox + ": checked"). val())' – WWWIZARDS 2010-12-07 06:08:06