$('#mySelectBox option').each(function() {
if ($(this).isChecked())
alert('this option is selected');
else
alert('this is not');
});
Anscheinend isChecked
funktioniert das nicht. Meine Frage ist also, wie man das richtig macht. Vielen Dank.
this.selected
) , dass Sie sollten Bypass jQuery ($(this).prop("selected")
) , aber sie werden für Sie beide arbeiten.Antworten:
AKTUALISIEREN
Eine direktere jQuery-Methode für die ausgewählte Option wäre:
Die Beantwortung der Frage
.is(':selected')
ist das, wonach Sie suchen:Die Nicht-jQuery-Methode (wohl Best Practice) wäre:
Wenn Sie nur nach dem ausgewählten Wert suchen, versuchen Sie Folgendes:
Wenn Sie nach dem Text des ausgewählten Werts suchen, gehen Sie wie folgt vor:
Überprüfen Sie heraus: http://api.jquery.com/selected-selector/
Suchen Sie beim nächsten Mal nach doppelten SO-Fragen:
Aktuelle ausgewählte Option abrufen oder Option auswählen oder Wie wird $ (diese) ausgewählte Option in jQuery abgerufen? oder Option [ausgewählt = wahr] funktioniert nicht
quelle
this.selected
kann verwendet werden, anstatt dass$(this).is(":selected")
ich denke, dass dafür kein jsperf benötigt wird, oder? Ich habe nichts gegen die Verwendung von jQuery!, Aber benutze es, wenn du es brauchst, nicht wenn es nichts als Overhead und mehr Code gibt.this.selected
ist vollständig gültig, aber er hat nach der richtigen jQuery-Methode gefragt.Sie können die ausgewählte Option folgendermaßen erhalten:
LIVE DEMO
Wenn Sie jedoch alle Optionen iterieren möchten, tun Sie dies mit,
this.selected
anstattthis.isChecked
welche nicht vorhanden sind:LIVE DEMO
Aktualisieren:
Sie haben viele Antworten erhalten, die Ihnen empfehlen, dies zu verwenden:
$(this).is(':selected')
Nun, es kann viel schneller und einfacher gemachtthis.selected
werden. Warum sollten Sie es verwenden und nicht die native DOM-Elementmethode?!Lesen Sie Kennen Sie Ihre DOM-Eigenschaften und -Funktionen in den
jQuery
Tag-Informationenquelle
this.selected
. Ich stimme Ihren Kommentaren zu jQuery-Überbeanspruchung / Missbrauch zu. Ein Teil des Wissens über jQuery besteht darin, zu wissen, wann es nicht verwendet werden soll. Beachten Sie jedoch, dass der':selected'
Selektor ein benutzerdefinierter Sizzle-Selektor ist. Wenn Sie ihn verwenden, wird die VerwendungquerySelectorAll
in unterstützten Browsern deaktiviert . Es ist sicherlich nicht das Ende der Welt, da es einen netten, kurzen Code enthält, aber ich persönlich neige dazu, das Nur-Sizzle-Zeug zu meiden.Wenn Sie nicht vertraut oder vertraut sind
is()
, können Sie einfach den Wert von überprüfenprop("selected")
.Wie hier zu sehen :
Bearbeiten :
Wie @gdoron in den Kommentaren hervorhob, ist der schnellere und am besten geeignete Weg, auf die ausgewählte Eigenschaft einer Option zuzugreifen, der DOM-Selektor. Hier ist das Geigen- Update , das diese Aktion anzeigt.
scheint genauso gut zu funktionieren! Danke gdoron.
quelle
$(this).prop("selected")
statt verwenden solltethis.selected
?! was gibt es dir ??! ps Ich bin nicht der Downvoter ...is
besten verwendet werde, aber ich greife gerne über prop und attr auf meine Immobilien zu. In den meisten Szenarien kann es nur eine Frage des Geschmacks sein. Ja, es gibt einen merkwürdigen Ausschlag von Abstimmungen!jQuery
Tag-Informationen zu lesen . Es gibt keinen Grund, langsameren Code + mehr Code zu verwenden, um einfache Dinge zu tun..is()
sollte für komplizierte Selektoren wie$(...).is('.foo > [name="aaa"] input') or for properties that are not native DOM elements properties like
$ (...) verwendet werden. is (": visiable").$(this).is(':selected')
akzeptiert wird. Stackoverflow sollte verwendet werden, um Best Practices zu lernen, keine häufigen Fehler ...)Sie können diesen Weg durch jquery verwenden:
quelle
verwenden
um zu testen, ob es sich um eine bestimmte Option handelt
myoption
:quelle
myoption
???Betrachten Sie dies als Ihre Auswahlliste:
Dann überprüfen Sie die ausgewählte Option wie folgt:
quelle
In meinem Fall weiß ich nicht, warum ausgewählt immer wahr ist. Der einzige Weg, den ich mir ausdenken konnte, ist:
quelle
Wenn Sie nur überprüfen möchten, ob eine Option ausgewählt ist, müssen Sie nicht alle Optionen durchlaufen. Mach einfach
Hinweis: Wenn Sie eine Option mit dem Wert = 0 haben, die ausgewählt werden soll, müssen Sie die if-Bedingung in ändern
$('#mySelectBox').val() != null
quelle
Wenn Sie den ausgewählten Status der Option auf einen bestimmten Wert überprüfen müssen :
quelle
Wenn Sie die ausgewählte Option über Javascript überprüfen möchten
Die einfachste Methode ist das Hinzufügen eines onchange-Attributs in diesem Tag und das Definieren einer Funktion in der js-Datei. Siehe Beispiel, wenn Ihre HTML-Datei Optionen wie diese enthält
Und jetzt Funktion in js-Datei hinzufügen
Wenn Sie die ausgewählte Option in der PHP-Datei aktivieren möchten
Geben Sie einfach das Namensattribut in Ihr Tag ein und greifen Sie auf die globalen Variablen / das Array der PHP-Datei ($ _GET oder $ _POST) zu. Sehen Sie sich das Beispiel an, wenn Ihre HTML-Datei so ähnlich ist
Und in Ihrer PHP-Datei validation.php können Sie so zugreifen
quelle