So überprüfen Sie mit jquery, ob der Eingabetyp Radio ist

Lesezeit: 2 Minuten

Benutzer-Avatar
Darcy

Ich möchte HTML-Elemente je nach Typ unterschiedlich behandeln.

Wie überprüfe ich mit jquery, ob ein Eingabetyp ein Optionsfeld ist?

Ich habe es versucht:

if ($('#myElement').is(':radio')) {
    ....//code here
}

und

if ($('#myElement').is("input[type="radio"]")) {
    ....//code here
}

Beides funktionierte nicht. Irgendwelche Ideen?

BEARBEITEN:

if ($('#myElement').is(':radio')) {
    ....//code here
}

funktioniert, aber meine Optionsfelder haben kein id-Attribut, sie haben nur ein name-Attribut, weshalb es nicht funktioniert hat.

Ich habe meinen Code geändert in:

if ($('input[name=" + myElement + "]').is(":radio")) {
    ....//code here
}

  • Wenn Sie Ihr eigenes Problem gelöst haben, hätten Sie es als Antwort posten und auswählen sollen.

    – zzzzBov

    16. Dezember 2010 um 18:26 Uhr

Benutzer-Avatar
Benutzer113716

Das sollte funktionieren, solange die Elemente geladen sind.

// Ensure the DOM is ready
$(function() {
    if ($('#myElement').is(':radio')) {
        //code here
    }
});

Wenn Sie Handler basierend auf dem Typ zuweisen, wäre ein anderer Ansatz zu verwenden .filter().

$(function() {
    var el = $('#myElement');
    el.filter(':radio').change(function() {
        //code here
    });

    el.filter(':checkbox').change(function() {
        // other code here
    });
});

Wenn es nicht besteht filter()wird der Handler nicht zugewiesen.

  • Leider gibt is(‘:radio’) sowohl für ein Kontrollkästchen als auch für ein Optionsfeld true zurück, daher ist es möglicherweise am besten, stattdessen .attr(‘type’) ==’radio’ zu verwenden.

    – Wille

    16. April um 2:44 Uhr

Benutzer-Avatar
Gast, aber nicht zuletzt

if($('#my-element').attr('type') == 'radio')

Benutzer-Avatar
Markus Baijens

Das sollte funktionieren, Sie können stattdessen versuchen, den Filter auf diese Weise zu verwenden

if ($('#myElement').filter(':radio').size() > 0) {
    ....//code here
}
and

if ($('#myElement').filter("input[type="radio"]").size() > 0) {
    ....//code here
}

Oder

$('#myElement:radio').each(function() {
        ....//code here
});

Aktualisierung: Sind Sie auch sicher, dass die ID auf der Seite eindeutig ist? Wenn Sie mehr als 1 Element auswählen möchten, können Sie stattdessen eine Klasse verwenden.

1158420cookie-checkSo überprüfen Sie mit jquery, ob der Eingabetyp Radio ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy