81 votes

récupérer la valeur d'un groupe radio en utilisant jquery

J'essaie d'obtenir la valeur d'un groupe de radios avec un nom. managerelradio . Mon code html pour ce groupe radio est le suivant.

 <label><input type="radio" name="managerelradio" value="Yes" id="Add">Add</label>
 <label><input type="radio" name="managerelradio" value="No" id="Remove">Remove</label>

et Jquery pour cela est..

    var manageradiorel = $('input[name = "managerelradio"]:checked' , '#managechildform').val();
 alert(manageradiorel);

Il me montre undefined.

Bien que je l'aie aussi essayé en tant que.

 var manageradiorel = $('input[name = "managerelradio"]:checked').val();
 alert(manageradiorel);

Mais j'obtiens toujours une valeur indéfinie.

0 votes

Pouvez-vous afficher le HTML aussi ? Cela nous aidera à comprendre le problème.

149voto

Null Pointer Points 2355

Essayez ceci

var manageradiorel = $("input:radio[name ='managerelradio']:checked").val();
alert(manageradiorel);

Veuillez vérifier este DEMO il fonctionnera bien

Note : L'un de vos boutons radio doit être sélectionné. Sinon, il retournera undefined

Vous pouvez utiliser checked pour qu'un bouton radio soit sélectionné par défaut.

0 votes

Il doit aussi être placé dans l'événement onchange, je suppose.

0 votes

@Shameer, je ne pense pas. Vous pouvez voir la démo

0 votes

Cela fonctionne pour moi (même sans événement onchange), cela devrait être la réponse acceptée !

17voto

gowri Points 4775

Cela fonctionne pour moi

$('input[name="managerelradio"]').on('change', function(e) {

    var manageradiorel = e.target.value;
    alert(manageradiorel);

});

Exaple aquí

0 votes

Bien que cela fonctionne si j'utilise la fonction de changement sur le groupe de radio, cela ne fonctionnera pas si je mets une autre fonction de changement comme le changement de liste déroulante.

0 votes

@Rahul : Votre un de votre bouton radio doit être sélectionné pour obtenir la valeur.revoir ma mise à jour ici lien

10voto

CupOfTea696 Points 343

Une petite extension jQuery pour rendre cela un peu plus facile :

jQuery.fn.extend({
    groupVal: function() {
        return $(this).filter(':checked').val();
    }
});

// Usage:
$("input[name='managerelradio']").groupVal();

// Or even:
$("[name='managerelradio']").groupVal();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X