2009-05-05 6 views
0

Ich habe 2 Radios:Kopfschmerzen mit Radios in JQuery

<input id="a_15_0" type="radio" value="abc" name="a_15"/> 
<input id="a_15_1" type="radio" value="xyz" name="a_15"/> 

Beide unselektierten sind. Ich habe nur den Namen des Radios, d. H. a_15, aber nicht die IDs.

1) Wie kann ich den Wert der ausgewählten Option dieses Radios erhalten? ZB wenn der Benutzer auf 'xyz' geklickt hat, wie kann ich es bekommen? Im Moment benutze ich:

var val=$('[name="a_15"]').val(); 

Die gibt immer abc, auch wenn xyz ausgewählt ist.

2) Wie kann ich bekommen, dass xyz durch Javascript ausgewählt wird, ohne die ID des Radios zu kennen, die xyz sagt? Doing:

$ ('[Name = "a_15"]'). Val ('xyz');

Ändert den Wert beider Funkgeräte zu xyz, anstatt den Wert zu wählen, dessen Wert xyz war.

Muss ich document.myForm.a_15.value verwenden? Würde das konsequent funktionieren?

Antwort

1

Haben Sie versucht, die val() in Verbindung mit dem: checked Selektor?

$('[name="a_15"]:checked').val(); 

Wie zum Festlegen der Auswahl basierend auf dem Wert, müssen Sie möglicherweise mehrere Attributtests durchführen?

$('[name="a_15"][value="xyz"]').get(0).checked = true; 
+0

Ich denke, es wird viel einfacher sein, den Ansatz von document.myForm.myRadio zu verwenden. Weißt du, ob das funktioniert, um den ausgewählten Wert des Radios zu erhalten und den gewünschten Wert auszuwählen? –

+0

Ich bin kein Fan von jquery Selektoren mischen und die alten Mode DOM Selektoren. Wenn Sie App jquery verwenden, würde ich bei diesem jQuery-Ansatz bleiben. Aber das ist meine Meinung. – bendewey

+0

Ja, und document.myForm hat sowieso nicht funktioniert. Vielen Dank, du bist ein Lebensretter. –

1

Es gibt viele Arten von Selektoren in jQuery; id, class, etc..I glauben, dass dies die Arbeit tun, nicht getestet:

var val= $("input[name=a_15]:checked").val(); 

wenn Sie den Namen des Formulars kennen, dann wird dies auf jeden Fall tun es

var val= jQuery('#radio_form input:radio:checked').val(); 
0

haben Sie die hier richtigen Code:

to run

to edit

die richtige Form ist:

$("input[name='a_15']:checked").val(); 

, wie Sie auf den Link können testen oben

Verwandte Themen