2012-05-16 9 views
8

Wenn ich die folgenden jQuery Mobile HTML habe;Holen Sie den Wert einer Optionsschaltfläche in jQuery mobile

<fieldset data-role="controlgroup" data-type="horizontal" name="Smoker" id="Smoker"> 
    <input name="radio3" id="radio3" value="Yes" type="radio" /> 
    <label for="radio3">Yes</label> 
    <input name="radiobuttons1" id="radio4" value="No" type="radio" /> 
    <label for="radio4">No</label> 
</fieldset> 

Ich dachte, ich könnte dies in jQuery tun;

Dies führt jedoch zu keinem Ergebnis. Muss ich tatsächlich beide Eingaben abfragen, um zu sehen, welche überprüft wurde, oder gibt es eine nette jQuery Mobile-Möglichkeit, dies zu tun?

Antwort

17

versuchen

$("#Smoker :radio:checked").val(); 
+0

Brilliant. Vielen Dank – griegs

5

Erste Optionsfelder sollten den gleichen Namen Attribut haben, sonst Auswahl eines das andere nicht deselct, so dass anstelle der aktuellen Markup sollten Sie so etwas wie die folgenden

<fieldset data-role="controlgroup" data-type="horizontal" name="Smoker" id="Smoker"> 
    <input name="smokerRdo" id="radio3" value="Yes" type="radio" /> 
    <label for="radio3">Yes</label> 
    <input name="smokerRdo" id="radio4" value="No" type="radio" /> 
    <label for="radio4">No</label> 
</fieldset> 

AS für immer den Wert es ist die gleiche wie regelmäßige jQuery, aber sie versuchen, den Wert des fieldset zu bekommen, nicht die Radiogruppe, stattdessen versuchen

$('input[name=smokerRdo]:checked').val() 
+0

Dies scheint nicht zu funktionieren – griegs

+0

Ihre Optionsfelder sind nicht korrekt definiert, sie sollten das gleiche Namensattribut verwenden. Ich habe meine Antwort aktualisiert. – Jack

Verwandte Themen