Wie erhalte ich mit jQuery die Bezeichnung der Auswahloption?

113
<select>
<option value="test">label </option>
</select>

Der Wert kann von abgerufen werden $select.val().

Was ist mit dem label?

Gibt es eine Lösung, die in IE6 funktioniert?

user198729
quelle
Sie meinen, wie man den Wert des ausgewählten, des ausgewählten Werts erhält? Welches ist in Ihrem Fall Etikett?
Ameise
Diese Frage sollte umformuliert werden, um zu sagen: "Wie erhalte ich Text der Auswahloption mit jQuery?" Alle Verweise auf das Etikett sollten durch Text ersetzt werden, um Verwechslungen mit dem Etikettenattribut zu vermeiden.
Joel Davis

Antworten:

21

Hallo, gib zuerst eine ID an die Auswahl als

<select id=theid>
<option value="test">label </option>
</select>

dann können Sie das ausgewählte Label folgendermaßen aufrufen:

jQuery('#theid option:selected').text()
open-ecommerce.org
quelle
12

Als Referenz gibt es auch ein sekundäres labelAttribut auf dem Options-Tag:

//returns "GET THIS" when option is selected
$('#selecter :selected').attr('label'); 

Html

<select id="selecter">
<option value="test" label="GET THIS">
Option (also called label)</option>
</select>
kingPuppy
quelle
6

Um die Bezeichnung einer bestimmten Option in einem Dropdown-Menü zu erhalten, können Sie Folgendes eingeben:

$('.class_of_dropdown > option[value='value_to_be_searched']').html();

oder

$('#id_of_dropdown > option[value='value_to_be_Searched']').html();
Snigdha Batra
quelle
3

Ich fand das hilfreich

$('select[name=users] option:selected').text()

Beim Zugriff auf den Selektor mit dem thisSchlüsselwort.

$(this).find('option:selected').text()
bmatovu
quelle
2

Versuche dies:

$('select option:selected').prop('label');

Dadurch wird der angezeigte Text für beide <option>Elementstile angezeigt :

  • <option label="foo"><option> -> "foo"
  • <option>bar<option> -> "bar"

Wenn labeldas Element sowohl ein Attribut als auch Text enthält, wird das labelAttribut verwendet. Dies entspricht dem Verhalten des Browsers.

Für die Nachwelt wurde dies unter jQuery 3.1.1 getestet

Amphetamachine
quelle
0
<SELECT id="sel" onmouseover="alert(this.options[1].text);"
<option value=1>my love</option>
<option value=2>for u</option>
</SELECT>
meo
quelle
0

In modernen Browsern benötigen Sie dafür kein JQuery. Verwenden Sie stattdessen

document.querySelectorAll('option:checked')

Oder geben Sie stattdessen ein beliebiges DOM-Element an document

John Henckel
quelle
-2

Du schaust nach $select.html()

http://api.jquery.com/html/

Guillaume Flandre
quelle
1
Das gibt nur den HTML-Code für alle Optionselemente zurück. Der Beschriftungstext befindet sich irgendwo dort, ist aber nicht der effizienteste Weg, um darauf zuzugreifen.
MSpreij