J'ai 3 boutons radio dans ma page Web, comme ci-dessous:
<label for="theme-grey">
<input type="radio" id="theme-grey" name="theme" value="grey" />Grey</label>
<label for="theme-pink">
<input type="radio" id="theme-pink" name="theme" value="pink" />Pink</label>
<label for="theme-green">
<input type="radio" id="theme-green" name="theme" value="green" />Green</label>
Dans jQuery, je veux obtenir la valeur du bouton radio sélectionné lorsque l'un de ces trois est cliqué. Dans jQuery, nous avons des sélecteurs id (#) et class (.), Mais que faire si je veux trouver un bouton radio par son nom, comme ci-dessous?
$("<radiobutton name attribute>").click(function(){});
Veuillez me dire comment résoudre ce problème.
javascript
jquery
html
radio-button
Prashant
la source
la source
document.querySelectorAll("input:radio[name=theme]").forEach(function() { this.onclick=function() { var value = this.value; }; });
Réponses:
Cela devrait le faire, tout cela est dans la documentation , qui a un exemple très similaire à ceci:
Je dois également noter que vous avez plusieurs identifiants identiques dans cet extrait. Ce code HTML n'est pas valide. Utilisez des classes pour regrouper un ensemble d'éléments, et non des ID, car ils doivent être uniques.
la source
[type='radio']
place de:radio
cette façon, jQuery peut profiter de l'amélioration des performances fournie par laquerySelectorAll()
méthode DOM native .Pour déterminer quel bouton radio est coché, essayez ceci:
L'événement sera intercepté pour tous les boutons radio du groupe et la valeur du bouton sélectionné sera placée dans val.
Mise à jour: Après avoir posté, j'ai décidé que la réponse de Paolo ci-dessus est meilleure, car elle utilise une traversée DOM de moins. Je laisse cette réponse reposer car elle montre comment obtenir l'élément sélectionné d'une manière compatible avec plusieurs navigateurs.
la source
[type='radio']
place de:radio
cette façon, jQuery peut profiter de l'amélioration des performances fournie par laquerySelectorAll()
méthode DOM native .:checked
pour trouver le bouton qui est vérifié, par exemple, avec un gestionnaire d'événements de soumission de formulaire où lethis
mot-clé ne correspond pas au bouton cliqué.la source
$("input[name=theme]:checked").val();
(en laissant de:radio
côté la partie et cela semble bien fonctionner dans IE, FF, Safari et Chrome. J'ai dû travailler avec jQ v 1.3 ... Bien sûr, cela signifie qu'il n'y a qu'un seul élément nommé 'thème'autrement
la source
$themeRadios = $('input:radio[name=theme'])
pour définir des gestionnaires d'événements, puis obtenir la valeur en utilisant le filtre, par exemple$themeRadios.filter(":checked").val()
.Cela fonctionne très bien pour moi. Par exemple, vous avez deux boutons radio avec le même "nom", et vous vouliez simplement obtenir la valeur de celle cochée. Vous pouvez essayer celui-ci.
la source
Le code suivant est utilisé pour obtenir la valeur du bouton radio sélectionné par son nom
Merci Adnan
la source
J'ai trouvé cette question car je recherchais une erreur après avoir mis à niveau 1.7.2 de jQuery vers 1.8.2. J'ajoute ma réponse car il y a eu un changement dans jQuery 1.8 et supérieur qui change la façon dont cette question est répondue maintenant.
Avec jQuery 1.8, ils ont déconseillé les pseudo-sélecteurs comme: radio,: case à cocher,: texte.
Pour faire ce qui précède, remplacez simplement le
:radio
par[type=radio]
.Donc, votre réponse devient maintenant pour toutes les versions de jQuery 1.8 et supérieures:
Vous pouvez en savoir plus sur le changement dans le fichier Lisez - moi 1.8 et le ticket spécifique pour ce changement ainsi que comprendre pourquoi sur la page: sélecteur de radio dans la section Informations supplémentaires.
la source
$("input[type='radio'][name='theme']:checked")
Pour quiconque ne souhaite pas inclure une bibliothèque pour faire quelque chose de très simple:
jsfiddle
Pour un aperçu des performances des réponses actuelles , cliquez ici
la source
Si vous souhaitez connaître la valeur du bouton radio sélectionné par défaut avant un événement de clic, essayez ceci:
la source
Vous pouvez utiliser la fonction de filtrage si vous avez plusieurs groupes radio sur la page, comme ci-dessous
Voici l'URL du violon
http://jsfiddle.net/h6ye7/67/
la source
la source
Si vous voulez une valeur vraie / fausse, utilisez ceci:
la source
Quelque chose comme ça peut-être?
Lorsque vous cliquez sur un bouton radio, je pense qu'il finira par être sélectionné, donc cela va être appelé pour le bouton radio sélectionné.
la source
Si vous avez plus d'un groupe de boutons radio sur la même page, vous pouvez également essayer ceci pour obtenir la valeur du bouton radio:
À votre santé!
la source
peut également utiliser une classe CSS pour définir la plage de boutons radio, puis utiliser les éléments suivants pour déterminer la valeur
la source
Cela a fonctionné pour moi ..
HTML:
Jquery:
J'espère que ça aide..
la source
la source
Vous remarquerez peut-être que l'utilisation du sélecteur de classe pour obtenir la valeur des
ASP.NET RadioButton
contrôles est toujours vide et voici la raison.Vous créez le
RadioButton
contrôleASP.NET
comme ci-dessous:Et
ASP.NET
rend le HTML suivant pour votreRadioButton
Car
ASP.NET
nous ne voulons pas utiliserRadioButton
le nom ou l'id du contrôle car ils peuvent changer pour une raison quelconque de la main de l'utilisateur (changement du nom du conteneur, du nom du formulaire, du nom du contrôle utilisateur, ...) comme vous pouvez le voir dans le code ci-dessus.Le seul moyen restant possible d'obtenir la valeur de l'
RadioButton
utilisation de jQuery consiste à utiliser la classe css comme mentionné dans cette réponse à une question totalement indépendante comme suitla source