8
votes

Comment obtenez-vous la valeur vérifiée de l'ASP: bouton radio avec jQuery?

J'ai besoin de faire quelque chose comme ceci: xxx pré>

et être capable de vérifier la valeur de la valeur vérifiée par le bouton radio dans jQuery, mais mes tentatives comme celles-ci ne retournent pas vrai / faux . P>

if ($('[name=rbDate]').attr("Checked"))

if ($('[name=rbDate]').attr("Checked").val())

if ($('[name=rbDate]:checked').val())


0 commentaires

4 Réponses :


18
votes

C'est probablement le moyen le plus simple de le faire. La * = forte> recherche l'attribut d'identifiant entier pour RBDate strong> qui prend soin de l'ensemble de l'ID ASP.NET Mangling.

$('input[id*=rbDate]').is(":checked");


7 commentaires

Je ne comprends pas. Pourquoi utiliser le filtre d'attributs contient lorsque l'ID est spécifique? Est-ce que je manque quelque chose?


+1 de moi, au fait. Cette réponse est parfaitement valide mais si vous ne l'avez pas besoin, il est rapide de ne pas avoir à correspondre à une partie de l'ID.


@ Karim79 - Il s'agit d'un contrôle asp.net rendu qui signifie que l'ID rendu sera géré pour inclure l'ID de tous les contrôles parent au-dessus de celui-ci.


@Andrew Hare - Mon Dieu, je ne suis tout simplement pas bon avec ASP.NET. Si confus, suis-je. Désolé pour le spamming.


@ karim79 - lol, pas de soucis :)


Merci. Cela m'a non seulement donné ce que je voulais, mais c'était un bon rappel sur le nom Mangling.


Cela a bien fonctionné et m'a aidé. Une autre option est: $ ('# <% = rbdate.clientid%>'). Est (": vérifié");



5
votes

tandis que La réponse de Chaospandion fonctionnera, il serait plus rapide d'envelopper votre radiobuttonlist code> dans une divonde comme ceci: xxx pré>

puis votre code jQuery peut être aussi simple: p >

var selected = $("#dateWrapper input:radio:checked");


2 commentaires

C'est une bonne solution mais dans la majorité des cas, vous ne remarquerez même pas la différence de vitesse.


Des divs supplémentaires pour plus simples (mais pas plus courte) JQuery n'est pas un excellent compromis pour ce que je fais. Merci pour l'idée, cependant!



3
votes

inamingcontainer ajoute un tas de choses au début de l'ID du HTML actuel.

$('input[name$=rbDate]:checked').val()


0 commentaires

0
votes

Voici ma solution JQuery utilisant l'ID ASP.NET:

var rbSelected =  $("#<%= rbDate.ClientID %>").is(":checked"); 


0 commentaires