J'ai trois boutons radio avec le même nom et des valeurs différentes.Lorsque je clique sur le troisième bouton radio, la case à cocher et la zone de texte vont être désactivées.Mais lorsque je choisis deux autres boutons radio, cela doit être show.J'ai besoin de l'aide dans Jquery.Merci dans avance....
<form name="checkuserradio">
<input type="radio" value="1" name="userradiobtn" id="userradiobtn"/>
<input type="radio" value="2" name="userradiobtn" id="userradiobtn"/>
<input type="radio" value="3" name="userradiobtn" id="userradiobtn"/>
<input type="checkbox" value="4" name="chkbox" />
<input type="text" name="usertxtbox" id="usertxtbox" />
</form>
name
s peut être identique, maisid
s doit être unique.Réponses:
HTML
Javascript
la source
i
est transmis depuisfunction(i)
via JQueryeach()
.i==2
est utilisé pour accéder au 3ème bouton radio. Reportez-vous à mes codes.<span id="radiobutt">
- Cousin de RadioHead?Pas vraiment nécessaire, mais une petite amélioration du code d'okw qui rendrait l'appel de fonction plus rapide (puisque vous déplacez le conditionnel en dehors de l'appel de fonction).
la source
Ce fil est un peu vieux mais les informations doivent être mises à jour.
http://api.jquery.com/attr/
la source
removeProp
pour la propriété désactivée. Les documents jQuery disent d'utiliser à laprop("disabled", false);
place. api.jquery.com/prop/#prop-propertyName-valueJe ne sais pas pourquoi certaines de ces solutions utilisent .each () - ce n'est pas nécessaire.
Voici un code de travail qui désactive si la troisième case à cocher est cliquée, sinon supprime l'attribut désactivé.
Remarque: j'ai ajouté un identifiant à la case à cocher. N'oubliez pas non plus que les identifiants doivent être uniques dans votre document, alors supprimez les identifiants des boutons radio ou rendez-les uniques.
la source
each()
été utilisé parce que nous voulons obtenir le 3ème bouton radio. Nous pouvons utiliser$("input[type=radio]:eq(2)")
aussi. Votre méthode identifie le bouton radio par valeur, ce qui est bien sûr également valide. :)Je sais que ce n'est pas une bonne habitude de répondre à une vieille question, mais je mets cette réponse pour les gens qui verraient la question par la suite.
La meilleure façon de changer l'état dans JQuery est maintenant de
Veuillez consulter ce lien pour une illustration complète. Désactiver / activer une entrée avec jQuery?
la source
Je l'aurais fait légèrement différemment
Attribut de classe d'avis
De cette façon, si vous avez besoin d'ajouter plus de boutons radio, vous n'avez pas à vous soucier de changer le javascript
la source
Je suppose que vous voulez probablement lier un événement "clic" à un certain nombre de boutons radio, lire la valeur du bouton radio cliqué et, en fonction de la valeur, désactiver / activer une case à cocher et / ou une zone de texte.
la source
Désolé d'être si tard à la fête, mais je vois une marge d'amélioration ici. Pas concernant "désactiver la zone de texte", mais à la sélection de radionbox et la simplification du code, ce qui en fait un peu plus à l'épreuve du temps, pour des modifications ultérieures.
Tout d'abord, vous ne devez pas utiliser .each () et utiliser l'index pour désigner un bouton radio spécifique. Si vous travaillez avec un ensemble dynamique de boutons radio ou si vous ajoutez ou supprimez des boutons radio par la suite, votre code réagira sur le mauvais bouton!
Ensuite, mais ce n'était probablement pas le cas lors de la création de l'OP, je préfère utiliser .on ('click', function () {...}) au lieu de click ... http: //api.jquery. com / sur /
Lst mais pas des moindres, le code pourrait également être rendu plus simple et à l'épreuve du temps en sélectionnant le bouton radio basé sur son nom (mais qui apparaissait déjà dans un message).
J'ai donc fini avec le code suivant.
HTML (basé sur le code okw)
Code JS
la source
MVC 4 @ Html.CheckBoxPour généralement, les gens veulent agir en cochant et décochant la case mvc.
vous pouvez définir l'ID des contrôles que vous souhaitez modifier et en javascript, procédez comme suit
vous pouvez également modifier la propriété comme
la source
Afficher l'extrait de code
la source
obtenir la valeur des boutons radio et les correspond à chacun s'il est 3 puis désactivé
checkbox and textbox
.la source