Also gut, sag ich habe das:
<select id='list'>
<option value='1'>Option A</option>
<option value='2'>Option B</option>
<option value='3'>Option C</option>
</select>
Wie würde der Selektor aussehen, wenn ich "Option B" erhalten möchte, wenn ich den Wert '2' habe?
Bitte beachten Sie, dass hier nicht gefragt wird, wie der ausgewählte Textwert abgerufen werden soll, sondern nur einer von ihnen, ob ausgewählt oder nicht, abhängig vom Wertattribut. Ich habe es versucht:
$("#list[value='2']").text();
Aber es funktioniert nicht.
javascript
jquery
drop-down-menu
jquery-selectors
Paolo Bergantino
quelle
quelle
$("#list option").filter(function () { return $(this).html() == "stuff"; }).val();
Antworten:
Es wird nach einem Element mit der ID gesucht,
list
dessen Eigenschaftvalue
gleich ist2
.Was Sie wollen, ist das
option
Kind vonlist
:quelle
$('#list option:selected').text()
$('#list').val()
.trim()
nach verwenden,.text()
da einige Browser manchmal Leerzeichen vor und nach dem Text hinzufügen, die für den Benutzer unsichtbar sind, aber zu falschen Werten führen können$("#list option[value='2']").text().trim()
Wenn Sie die Option mit dem Wert 2 erhalten möchten, verwenden Sie
Wenn Sie die aktuell ausgewählte Option erhalten möchten, verwenden Sie
quelle
Dies funktionierte perfekt für mich. Ich suchte nach einer Möglichkeit, zwei verschiedene Werte mit von MySQL generierten Optionen zu senden. Folgendes ist allgemein und dynamisch:
$(this).find("option:selected").text();
Wie in einem der Kommentare erwähnt. Damit konnte ich eine dynamische Funktion erstellen, die mit allen meinen Auswahlfeldern funktioniert, für die ich beide Werte, den Optionswert und den Text erhalten möchte.
Vor ein paar Tagen habe ich festgestellt, dass beim Aktualisieren der jQuery von 1.6 auf 1.9 der Site, auf der ich diesen Code verwendet habe, dies nicht mehr funktioniert ... wahrscheinlich ein Konflikt mit einem anderen Code ... die Lösung bestand darin, die Option aus der zu entfernen find () call:
Das war meine Lösung ... benutze sie nur, wenn du nach dem Update deiner jQuery ein Problem hast.
quelle
Basierend auf dem ursprünglichen HTML-Code von Paolo habe ich Folgendes gefunden.
Es wurde getestet, um mit Internet Explorer und Firefox zu funktionieren.
quelle
für mehrere ausgewählte Werte in der
#list
Element.quelle
Wenn auf der Seite nur ein Auswahl-Tag vorhanden ist, können Sie die Auswahl innerhalb der ID-Liste angeben.
Um ausgewählten Text zu erhalten
quelle
Versuche Folgendes:
Der Grund, warum Ihr ursprüngliches Snippet nicht funktioniert hat, ist, dass Ihre
OPTION
Tags IhremSELECT
Tag untergeordnet sindid
list
.quelle
Dies ist eine alte Frage, die seit einiger Zeit nicht mehr aktualisiert wurde. Der richtige Weg, dies jetzt zu tun, wäre die Verwendung
Ich hoffe das hilft :-)
quelle
Ich wollte das ausgewählte Label bekommen. Dies hat bei mir in jQuery 1.5.1 funktioniert.
quelle
quelle
optgroup
Tag als Kind von Ihnen habenselect
und die ausgewählte Option darin enthalten istoptgroup
. Verwenden Sie,$("#list option:selected").text();
was auch in diesem FallLassen Sie nach dem ID-Selektor ein Leerzeichen.
quelle
Sie können den ausgewählten Optionstext mithilfe der Funktion abrufen
.text();
Sie können die Funktion folgendermaßen aufrufen:
quelle
Beim "Durchlaufen" dynamisch erstellter Elemente mit .each (function () ...):
$("option:selected").text();
und$(this + " option:selected").text()
gab den ausgewählten Optionstext nicht zurück - stattdessen war er null.Aber die Lösung von Peter Mortensen hat funktioniert:
Ich weiß nicht, warum der übliche Weg in a nicht gelingt
.each()
(wahrscheinlich mein eigener Fehler), aber danke, Peter. Ich weiß, dass dies nicht die ursprüngliche Frage war, erwähne sie jedoch "für Neulinge, die über Google kommen".Ich hätte damit begonnen,
$('#list option:selected").each()
außer dass ich auch Sachen aus dem Auswahlelement holen musste.quelle
Verwenden:
quelle
Ich suchte nach einem Wert für den internen Feldnamen anstelle der ID und kam von Google zu diesem Beitrag, der mir half, aber nicht die Lösung fand, die ich brauchte, aber ich bekam die Lösung und hier ist sie:
Dies kann also jemandem helfen, nach einem ausgewählten Wert mit einem internen Feldnamen zu suchen, anstatt eine lange ID für SharePoint-Listen zu verwenden:
quelle
Ich brauchte diese Antwort, da ich mich mit einem dynamisch gegossenen Objekt befasste, und die anderen Methoden hier schienen nicht zu funktionieren:
Dies verwendet natürlich das DOM- Objekt, anstatt seinen HTML-Code mit nodeValue, childNodes usw. zu analysieren.
quelle
Ein Tipp: Sie können den folgenden Code verwenden, wenn Ihr Wert dynamisch ist:
Oder (besserer Stil)
Wie in jQuery erwähnt, erhalten Sie einen bestimmten Optionstag-Text und platzieren eine dynamische Variable auf dem Wert
quelle
Als alternative Lösung können Sie auch einen Kontextteil des jQuery-Selektors verwenden , um
<option>
Elementevalue="2"
innerhalb der Dropdown-Liste zu finden:quelle
Ich wollte eine dynamische Version für Select Multiple, die anzeigt, was rechts ausgewählt ist (ich wünschte, ich hätte weiter gelesen und gesehen
$(this).find
... früher):quelle
Sie haben eine der folgenden Möglichkeiten
quelle