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?


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()

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>

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();

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()


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


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


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


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.