2010-08-24 5 views
6

Ich weiß, dass ich hier etwas beschrieben verwenden: How can I know which radio button is selected via jQuery?Wie kann ich herausfinden, welcher Radiobutton mit jQuery ausgewählt wurde, ohne jedes Mal nach der Radiogruppe zu suchen?

heißt jQuery("input[name=myradiogroup]:checked").val() den ausgewählten Optionsfeld Wert zu erhalten. Aber ich möchte die Radiogruppe zwischenspeichern und bestimmen, welcher Wert zu einem späteren Zeitpunkt ausgewählt wird.

Ich mag wie etwas zu tun:

var myRadio = jQuery("input[name=myradiogroup]"); 
//some code 
var value = myRadio.getCheckedButton().val(); 

eine Möglichkeit, dies zu tun oder muß ich ausdrücklich die Wähler mit :checked in den ausgewählten Wert jedes Mal, ich will laufen, um herauszufinden?

Antwort

8
var myRadio = jQuery("input[name=myradiogroup]"); 
var selectedRadio = myRadio.filter(":checked"); 
alert(selectedRadio.val()); 
+0

Hmm, das ist seltsam ... Ich sah eine Antwort in der verknüpften Frage, aber ich konnte es nicht zum Laufen bringen. Ich werde es erneut versuchen, aber es scheint, als ob .find nach Kindelementen sucht und die Radiogruppe selbst ignoriert, so dass ich immer ein leeres Ergebnis erhalte. –

+0

'find' wird nur in Nachkommen suchen, so wird es eine leere Menge zurückgeben, da die Checkbox-Elemente keine Nachkommen haben und der Aufruf von' val' auf dieser leeren Menge wird 'undefiniert' zurückgeben – Anurag

+0

Whoops, sollte Filter sein. Das ist, was ich bekomme, um gleichzeitig zu antworten und zu essen. Der Code wurde geändert. – epascarello

4

Könnte

myRadio.filter(':checked').val() 
-1
myValue=""; 
$('input[name=myradiogroup]').change(function() { 
    myValue= this.value; 
    alert(myValue); 
}); 

Jetzt können Sie Sie wünschen "myValue" jederzeit überprüfen.