Come ottenere l'etichetta dell'opzione di selezione con jQuery?


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

Il valore può essere recuperato da $select.val().

E il label?

Esiste una soluzione che funzioni in IE6?


Intendi come ottenere il valore di selezionato, il valore selezionato? qual è nel tuo caso l'etichetta?
formica

Questa domanda dovrebbe essere riformulata per dire "Come ottenere il testo dell'opzione selezionata con jQuery?" e tutti i riferimenti a label dovrebbero essere sostituiti con testo per evitare confusione con l'attributo label.
Joel Davis

Risposte:



22

Ciao per prima cosa dai un ID alla selezione come

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

quindi puoi chiamare l'etichetta selezionata in questo modo:

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

13

Per riferimento c'è anche un labelattributo secondario sul tag option:

//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

Per ottenere l'etichetta di un'opzione specifica in un menu a discesa, puoi farlo:

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

o

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

3

L'ho trovato utile

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

Quando si accede al selettore utilizzando la thisparola chiave.

$(this).find('option:selected').text()


2

Prova questo:

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

Questo estrarrà il testo visualizzato per entrambi gli stili di <option>elementi:

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

Se ha sia un labelattributo che un testo all'interno dell'elemento, utilizzerà l' labelattributo, che è lo stesso comportamento del browser.

Per i posteri, questo è stato testato con jQuery 3.1.1


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


0

Nei browser moderni non è necessario JQuery per questo. Invece usa

document.querySelectorAll('option:checked')

Oppure specifica qualsiasi elemento DOM invece di document


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.