So überprüfen Sie mit jquery, ob der Eingabetyp Radio ist
Lesezeit: 2 Minuten
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
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
Gast, aber nicht zuletzt
if($('#my-element').attr('type') == 'radio')
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.
11584200cookie-checkSo überprüfen Sie mit jquery, ob der Eingabetyp Radio istyes
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