Un bouton radio n'a pas de innerText, c'est un élément vide. Quel est votre balisage?
Si vous avez un parent qui contient le texte:
<div> <input type="radio" name="thing" value="foo" /> Hello </div>
Ensuite, vous pouvez utiliser:
var text= $('#rblReason input:checked').parent().text();
Si vous avez un élément d'étiquette associé à la radio:
<input type="radio" name="thing" value="foo" id="thing-foo" />
<label for="thing-foo"> Hello </label>
alors vous pourriez faire:
var id= $('#rblReason input:checked').attr('id');
var text= $('label[for='+id+']').text();
Notez, utilisez :checked
pour voir quelle case/radio est actuellement sélectionnée. [checked]
signifie tester que l'élément a un attribut checked
, ce qui renvoie toujours la radio initialement vérifiée indépendamment de ce que l'utilisateur a sélectionné. [Sauf dans IE, en raison d'un bug.]
Que voulez-vous? Le texte qui va avec le bouton radio? La valeur? Le nom? – voyager