J'ai un formulaire avec 2 cases à cocher et 2 sections de champs de texte d'entrée désactivés.
Si seule la première case à cocher est cochée, le champ de texte d'entrée suivant doit être activé: p>
Si seule la deuxième case à cocher est cochée, les champs de texte d'entrée suivants doivent être activés: p>
Si les deux cases à cocher sont vérifiées que tous les champs de texte d'entrée doivent être activés. Le problème que j'ai est que si les deux cases à cocher sont vérifiées, l'une est décochée. Les champs de texte 2 e-mail deviennent désactivés. P>
Voici un violon à ce que j'ai. Je peux utiliser jQuery. http://jsfiddle.net/ujxkq/ p>
Voici mon HTML: p> voici mon javascript: p>
3 Réponses :
Au lieu de simplement basculer à chaque fois, vérifiez l'état des deux cases à cocher et décidez si chaque champ doit être activé ou désactivé en fonction de celui-ci.
Vous pouvez le simplifier à une seule fonction qui est appelée ONCLICK de l'une ou l'autre case à cocher: p> mises à jour est mis à jour est ici: http: //jsfiddle.net/p8gqz/1/ p> p>
Mieux car ne nécessite pas d'utilisation de jQuery
J'ai changé un peu votre code une jQuery d'occasion }); p> violon p> p>
Merci! J'ai accepté la réponse précédente avant de voir le vôtre mais merci de m'avoir montré comment le faire avec JQuery.
@MDD Je crois que vous pouvez changer la réponse acceptée si vous le souhaitez. Je ne pense pas que ce soit un bon exemple de jQuery, cependant - voir ma deuxième réponse pour un meilleur exemple de ce qui est possible ici avec JQuery.
Vous avez marqué cette question avec jQuery, mais vous n'utilisez pas jusqu'à présent. Vous pouvez supprimer tous les attributs OnClick sur les cases à cocher elles-mêmes si vous utilisez cette version.
Voici une version qui utilise jQuery:
Le violon mis à jour pour cette version est ici: http://jsfiddle.net/tb7yz/ p> p>
Merci. Je n'ai pas utilisé JQuery parce que je ne pensais pas que ce serait nécessaire, même si je l'ai disponible. Désolé de marquer JQuery que si cela était déroutant.
Ce n'est pas un problème. Si vous avez déjà JQuery disponible et chargé sur la page, je préfère personnellement cette version car elle est plus compacte et supprime la logique d'application (OnClick) d'être intégrée au HTML.
Merci jcsanyi. Souhaitez-vous expliquer comment le! (CB1 || CB2) évaluta dans la fonction .prop ()? .Prop ('Disabled',! (CB1 || CB2). Je pense que je l'obtiens, mais je ne suis pas sûr de le faire.
Le .prop ('désactivé',! (CB1 || cb2)) COD> est identique au code non-jQuery .disabled =! (cb1 || cb2) code>, Sauf que cela fonctionne contre les deux identifiants référencés dans la fonction $ () code>. || code> signifie ou et ! code> signifie pas. SO (CB1 || CB2) signifie (Cochez la case11 est cochée ou la case à cocher 2 est cochée). Qui évalue à true code> si la case à cocher est cochée ou false code> sinon. C'est à l'envers de ce dont nous avons besoin pour la propriété code> désactivé code>, nous la nions donc avec ! Code>.
Merci jcsanyi. C'est la négation, !, Je n'étais pas tout à fait sûr. Merci! :)