2010-02-01 10 views
94
<select> 
<option value="test">label </option> 
</select> 

Der Wert kann durch $select.val() abgerufen werden.Wie bekomme ich Label von select Option mit jQuery?

Was ist mit der label?

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

+0

Sie meinen, wie man Wert von ausgewählten, den ausgewählten Wert erhalten? Welches ist in deinem Fall Label? – ant

+0

Diese Frage sollte neu formuliert werden, um zu sagen: "Wie bekomme ich ** Text ** der ausgewählten Option mit jQuery?" und alle Verweise auf das Label sollten durch Text ersetzt werden, um eine Verwechslung mit dem Label-Attribut zu vermeiden. –

Antwort

192

Try this:

$('select option:selected').text(); 
+3

Dies ist nicht immer korrekt. Die angezeigte Beschreibung der Option kann auch durch ein Attribut 'label' angegeben werden (außer <= IE7). Siehe http://www.w3schools.com/tags/att_option_label.asp#gsc.tab=0 und http://www.w3.org/TR/html401/interact/forms.html#h-17.6 –

+1

Um das zu bekommen _label_ Attribut, dies kann verwendet werden: jQuery ('# theid option: selected'). attr ('label') –

-1

Sie suchen $select.html()

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

+1

Das gibt nur den HTML-Code für alle Optionselemente zurück. Der Etikettentext ist/in/da irgendwo, aber es ist nicht der effizienteste Weg, um daran zu kommen. – MSpreij

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

Hallo zuerst eine ID an die Auswahl als

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

geben, dann können Sie das ausgewählte Label so nennen:

jQuery('#theid option:selected').text() 
+0

Genau das habe ich gesucht! – DirtyBirdNJ

4

die Um Etikett einer bestimmten Option in einem Dropdown-Menü können Sie dies -

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

oder

$('#id_of_dropdown > option[value='value_to_be_Searched']').html(); 
7

Als Referenz gibt es auch ein sekundäres label Attribut auf der Option 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> 
0

Try this:

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

Dadurch wird der angezeigte Text für beide Arten von <option> Elemente herausziehen:

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

Wenn es sowohl eine label Attribut und Text hat Innerhalb des Elements wird das Attribut label verwendet, das dem Verhalten des Browsers entspricht.

Für die Nachwelt wurde dies unter getestet jQuery 3.1.1

0

Erstellt Arbeits Plunker dafür. $('#console').append("<br/>"+$('#test_s :selected').text())

Verwandte Themen