J'ai une variable appelée category
qui doit changer sa valeur en fonction du bouton radio sélectionné. Le problème est que je ne comprends pas qu'en cliquant sur un bouton radio ou un autre, la valeur change instantanément.
C'est le code que j'ai:
<form>
<input type="radio" name="category" value="doctor" /> Doctor
<input type="radio" name="category" value="police" checked /> Policia
</form>
var category = $('[name="category"]:checked').val();
J'ai besoin de vous pour changer automatiquement la valeur de la variable category
lorsque vous cliquez sur les boutons radio.
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 à déclencher lorsque l'utilisateur clique sur une radio. Vous pouvez vérifier le FIDDLE
var category = null;
$("input[name='category']").click(function() {
category = this.value;
});
Attachez un gestionnaire d'événement à l'événement change
:
$(':radio[name="category"]').change(function() {
var category = $(this).filter(':checked').val();
});
var category;
$(':radio[name="category"]').change(function() {
category=this.value;
});
Et ceci est une jsfiddle.net demo.
Je pense que vous avez simplement besoin de quelque chose comme ça:
var category;
$('radio[name="category"]').click(function(){
category=this.value;
});
Vous ne devriez pas donner le même ID pour plus d'un élément, vous devriez plutôt utiliser class comme ceci:
<form>
Option 1<input type="radio" name="opt" class="radio" value="Option 1">
Option 2<input type="radio" name="opt" class="radio" value="Option 2">
</form>
au lieu de :
<form>
Option 1<input type="radio" name="opt" id="radio" value="Option 1">
Option 2<input type="radio" name="opt" id="radio" value="Option 2">
</form>
et votre code reste le même et il devrait bien fonctionner :)
Au lieu d'utiliser la variable category
, utilisez $('[name="category"]:checked').val()
où vous voulez la valeur du bouton radio coché. Sinon, vous pouvez utiliser les événements change
ou click
pour définir la valeur des boutons radio checked
dans la variable category
.
utilisez le .change () afin de capturer l'événement de changement pour un bouton radio.