Holen Sie sich mit jquery einen Wert von der Funkgruppe

77

Ich versuche, den Wert der Funkgruppe mit Namen zu ermitteln managerelradio. Mein HTML-Code für diese Funkgruppe ist.

 <label><input type="radio" name="managerelradio" value="Yes" id="Add">Add</label>
 <label><input type="radio" name="managerelradio" value="No" id="Remove">Remove</label>

und Jquery dafür ist ..

    var manageradiorel = $('input[name = "managerelradio"]:checked' , '#managechildform').val();
 alert(manageradiorel);

es zeigt mich undefiniert.

Obwohl ich es auch als versucht habe.

 var manageradiorel = $('input[name = "managerelradio"]:checked').val();
 alert(manageradiorel);

Trotzdem bekomme ich einen undefinierten Wert.

Rahul Singh
quelle
Kannst du auch HTML posten? Dies wird uns helfen, das Problem zu verstehen
Null Pointer

Antworten:

142

Versuche dies

var manageradiorel = $("input:radio[name ='managerelradio']:checked").val();
alert(manageradiorel);

Bitte überprüfen Sie diese DEMO .. es wird gut funktionieren

Hinweis: Eines Ihrer Optionsfelder muss ausgewählt sein. Andernfalls wird undefiniert zurückgegeben

Sie können ein checkedAttribut verwenden, um ein Optionsfeld als Standard auszuwählen

Null Zeiger
quelle
es muss auch in einem Wechselereignis platziert werden, denke ich
Shameer
@ Shameer, das glaube ich nicht. Sie können die Demo sehen
Null Pointer
Es funktioniert für mich (auch ohne ein Wechselereignis), dies sollte die akzeptierte Antwort sein!
user3532637
+1, funktioniert. Wenn Sie nicht mehr als eine Schaltflächengruppe haben, können Sie die Namensangabe im Selektor weglassen.
Zelphir Kaltstahl
Es wäre schön, wenn jQuery klug genug wäre, um herauszufinden, dass es $("#managerelradio").val()nach dem Wert der Radiobutton-Gruppe sucht , aber da es nicht so klug ist, gibt es zumindest Logik in der Konstruktion dieses Selektors ...
FKEinternet
17

Für mich geht das

$('input[name="managerelradio"]').on('change', function(e) {

    var manageradiorel = e.target.value;
    alert(manageradiorel);

});

Exaple hier

Gowri
quelle
Es funktioniert zwar, wenn ich die Änderungsfunktion für Funkgruppen verwende, aber es funktioniert nicht, wenn ich eine andere Änderungsfunktion wie Dropdown-Änderung einfüge.
Rahul Singh
@ Rahul: Ihr eines Ihrer Optionsfelder muss ausgewählt sein, um den Wert zu erhalten. Überprüfen Sie mein Update hier Link
Gowri
10

Eine kleine jQuery-Erweiterung, um dies ein wenig zu vereinfachen:

jQuery.fn.extend({
    groupVal: function() {
        return $(this).filter(':checked').val();
    }
});

// Usage:
$("input[name='managerelradio']").groupVal();

// Or even:
$("[name='managerelradio']").groupVal();
CupOfTea696
quelle