2010-03-17 5 views
3

J'ai plusieurs cases à cocher avec le même nom et la dernière case à cocher est essentiellement "Autre" avec un champ de texte vide à côté. J'utilise la validation de jquery et je veux que le champ de texte vide soit requis lorsque la case à cocher pour les autres est sélectionnée.Valider le champ avec jquery uniquement si la case est cochée

Vous ne savez pas comment procéder avec les checbox ayant toutes le même nom.

Merci.

Répondre

0

Vous pouvez sélectionner toutes ces cases à cocher et utiliser le :last - sélecteur (http://api.jquery.com/last-selector/) ou vous sélectionnez le inputfield et montez dans les DOM avec $(".myOtherInput").prev() si elle est directement en face de votre champ. Après cela, vous pouvez lier la fonction pour ajouter ou supprimer class="required".

+0

comment est-ce que je piggy: dernière et: vérifié ensemble? J'ai trouvé ceci (http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression) et voici mon code mais cela ne fonctionne pas: $ ("# 4_observerstxt"). Rules ("add ", { requis:" # 4_observers: last: checked " }); $ ("# 4_observers: last"). Cliquez sur (function() { $ ("# 4_observerstxt"). Valid(); }); – jethomas

2

Les cases à cocher ont le même nom, mais des valeurs différentes. Ainsi, vous pouvez trouver les sélectionnés et ensuite vérifier les valeurs pour un particulier. J'ai fait quelque chose de similaire avec des boutons radio. Voici une de mes règles qui dit que le champ daypattern est requis si le radiobutton recurpattern a la valeur 'day'.

 daypattern: { 
      required: 
       function(element){ 
        return ($("input[name='recurpattern']:checked").val() == 'day') 
       } 

     } 

Dans votre cas, votre jeu de cases à cocher dispose d'un tableau dans yourcheckboxes.val(). Donc, vous vérifiez que votre valeur de test est dans ce tableau.

Questions connexes