12
votes

Valeur de changement de jQuery à partir du bouton radio

J'ai une variable appelée catégorie qui doit modifier sa valeur en fonction du bouton radio sélectionné. Le problème est que je ne reçois pas cela en un clic d'un bouton radio ou d'une autre, la valeur changera instantanément.

Ceci est le code que j'ai: xxx

J'ai besoin que vous modifiez automatiquement la valeur de la variable catégorie lorsque vous cliquez sur les boutons radio .


0 commentaires

7 Réponses :


1
votes

Je pense que vous avez besoin simplement de quelque chose comme ceci: xxx


1 commentaires

Je pense qu'il est préférable d'utiliser l'événement "changement", c'est plus grand but que "clic".



0
votes

au lieu d'utiliser catégorie utilisation variable $ ('[nom = "catégorie"]: vérifié'). Val () Où que vous souhaitiez la valeur de la radio cochée bouton. Sinon, vous pouvez utiliser modifier ou Cliquez sur Evénement pour définir les touches radio cochées Valeur de la radio dans catégorie variable. < / p>


1 commentaires

Il s'agit d'une approche directe plutôt que d'implémenter l'événement modifier .



43
votes

Joindre un gestionnaire d'événements à l'événement modifier : xxx


2 commentaires

Vous souhaitez utiliser l'événement Changer comme cette réponse indique, pas le Cliquez sur que d'autres conseillent. Utilisation de Changer vous permet de mettre à jour votre valeur Même si l'utilisateur navigue et sélectionne le bouton radio à l'aide de leur clavier.


@ALBANX: Cliquez sur Faire tirer uniquement si le bouton a été cliqué (même s'il est désactivé). Changer Feu lorsque la valeur est modifiée (quelle que soit la méthode, que ce soit le clavier ou la souris), ce qui ne peut pas arriver s'il est désactivé.



17
votes

Vous devez modifier la valeur de la catégorie chaque fois qu'un utilisateur modifie le bouton radio sélectionné. Par conséquent, vous aurez besoin d'un événement pour déclencher lorsque l'utilisateur clique sur une radio. Vous pouvez consulter le Fiddle

var category = null;
$("input[name='category']").click(function() {
    category = this.value;
});


1 commentaires

Bien cela fonctionne également si vous modifiez la radio sélectionnée en utilisant les flèches de votre clavier.



0
votes

Utilisez le .change () afin de capturer l'événement de changement pour un bouton radio. < / p>


0 commentaires

1
votes
var category;
    $(':radio[name="category"]').change(function() {
      category=this.value;
    });
And this is a jsfiddle.net demo.

0 commentaires

1
votes

Vous ne devez pas donner le même identifiant pour plus d'un élément, vous devez utiliser la classe plutôt que celle-ci: xxx

au lieu de: xxx

et votre code toujours identique et cela devrait fonctionner correctement :)


0 commentaires