user198729
user198729

Reputation: 63626

How to get label of select option with jQuery?

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

The value can be retrieved by $select.val().

What about the label?

Is there a solution that will work in IE6?

Upvotes: 130

Views: 170334

Answers (11)

eugene
eugene

Reputation: 994

$("select#selectbox option:eq(0)").text()

The 0 index in the "option:eq(0)" can be exchanged for whichever indexed option you'd like to retrieve.

Upvotes: 2

bmatovu
bmatovu

Reputation: 4074

I found this helpful

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

When accessing the selector using the this keyword.

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

Upvotes: 10

John Henckel
John Henckel

Reputation: 11347

In modern browsers you do not need JQuery for this. Instead use

document.querySelectorAll('option:checked')

Or specify any DOM element instead of document

Upvotes: 1

itwasnoteasy
itwasnoteasy

Reputation: 471

Created working Plunker for this. https://plnkr.co/edit/vR9aGoCwoOUL9tevIEen $('#console').append("<br/>"+$('#test_s :selected').text())

Upvotes: 0

amphetamachine
amphetamachine

Reputation: 30595

Try this:

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

This will pull out the displayed text for both styles of <option> elements:

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

If it has both a label attribute and text inside the element, it'll use the label attribute, which is the same behavior as the browser.

For posterity, this was tested under jQuery 3.1.1

Upvotes: 3

kingPuppy
kingPuppy

Reputation: 3047

For reference there is also a secondary label attribute on the 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>

Upvotes: 18

Snigdha Batra
Snigdha Batra

Reputation: 887

To get the label of a specific option in a dropdown yo can ty this --

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

or

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

Upvotes: 7

open-ecommerce.org
open-ecommerce.org

Reputation: 1814

Hi first give an id to the select as

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

then you can call the selected label like that:

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

Upvotes: 24

meo
meo

Reputation: 9

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

Upvotes: 0

Sergey Kuznetsov
Sergey Kuznetsov

Reputation: 8721

Try this:

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

Upvotes: 255

Guillaume Flandre
Guillaume Flandre

Reputation: 8980

You're looking for $select.html()

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

Upvotes: -2

Related Questions