812 Stimmen

jQuery liefert den Wert der ausgewählten Optionsschaltfläche

Die Problemstellung ist einfach. Ich muss sehen, ob der Benutzer ein Optionsfeld aus einer Optionsgruppe ausgewählt hat. Jede Optionsschaltfläche in der Gruppe teilen gleiche id.

Das Problem ist, dass ich keine Kontrolle darüber habe, wie das Formular erstellt wird. Hier ist der Beispielcode, wie ein Radio-Button-Steuerungscode aussieht:

<input type="radio" name='s_2_1_6_0' value='Mail copy to my bill to address' id = "InvCopyRadio" onchange = 'SWESubmitForm(document.SWEForm2_0,s_4,"","1-DPWJJF")' style="height:20;width:25" tabindex=1997 >

Wenn ein Optionsfeld ausgewählt wird, wird dem Steuerelement außerdem kein Attribut "checked" hinzugefügt, sondern nur Text geprüft (Ich vermute, dass nur die Eigenschaft ohne Wert geprüft wird) . Nachfolgend sehen Sie, wie eine ausgewählte Funksteuerung aussieht

<input type="radio" checked name='s_2_1_6_0' value='Mail copy to my bill to address' id = "InvCopyRadio" onchange = 'SWESubmitForm(document.SWEForm2_0,s_4,"","1-DPWJJF")' style="height:20;width:25" tabindex=1997 >

Kann jemand mir mit jQuery-Code helfen, die mir helfen können, um den Wert der überprüften Schaltfläche Radio zu erhalten?

1702voto

Parveen Verma Punkte 15630

Verwenden Sie einfach.

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

So einfach ist das.

357voto

Adam Rackis Punkte 81499

Erstens können Sie nicht mehrere Elemente mit der gleichen ID haben. Ich weiß, Sie sagten, dass Sie nicht kontrollieren können, wie das Formular erstellt wird, aber... versuchen Sie, irgendwie alle IDs aus den Radios zu entfernen oder sie eindeutig zu machen.

Um den Wert des ausgewählten Optionsfeldes zu erhalten, wählen Sie es mit der Taste :checked Filter.

var selectedVal = "";
var selected = $("input[type='radio'][name='s_2_1_6_0']:checked");
if (selected.length > 0) {
    selectedVal = selected.val();
}

EDITAR

Sie haben also keine Kontrolle über die Namen. In diesem Fall würde ich sagen, setzen Sie diese Radio-Buttons alle innerhalb eines div, benannt, sagen wir, radioDiv und ändern Sie dann Ihren Selektor leicht ab:

var selectedVal = "";
var selected = $("#radioDiv input[type='radio']:checked");
if (selected.length > 0) {
    selectedVal = selected.val();
}

94voto

Hardik Punkte 2668

Der einfachste Weg, den Wert des ausgewählten Optionsfeldes zu ermitteln, ist folgender:

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

Zwischen den Selektoren sollte kein Leerzeichen stehen.

52voto

Purag Punkte 16701
$("#radioID") // select the radio by its id
    .change(function(){ // bind a function to the change event
        if( $(this).is(":checked") ){ // check if the radio is checked
            var val = $(this).val(); // retrieve the value
        }
    });

Stellen Sie sicher, dass Sie dies in die DOM ready-Funktion ( $(function(){...}); o $(document).ready(function(){...}); ).

43voto

Sumith Harshan Punkte 5998
<input type="radio" class="radioBtnClass" name="numbers" value="1" />1<br/>
<input type="radio" class="radioBtnClass" name="numbers" value="2" />2<br/>
<input type="radio" class="radioBtnClass" name="numbers" value="3" />3<br/>

Dies gibt den Wert der markierten Optionsschaltfläche zurück.

if($("input[type='radio'].radioBtnClass").is(':checked')) {
    var card_type = $("input[type='radio'].radioBtnClass:checked").val();
    alert(card_type);
}

Mehr Details in meinem Blog: https://webexplorar.com/jquery-get-selected-radio-button-value/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X