Question

example:

<select>
<option value='1'>hello me<option>
<option value='2'>hello world</option>
</select>

how can I access a TEXT not VALUE from select box

so I can display HELLO ME or HELLO WORLD instead of 1 & 2.

Was it helpful?

Solution

Use text together with the :selected form selector:

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

Loop over all options' texts and values:

$('#mySelect option').each(function () {
    console.log(this.text + ' ' + this.value);
});

Grab all option texts into an array:

var textArr = $('#mySelect option').map(function (i,n) {
    return $(n).text();
}).get();
console.log(textArr.join(','));

OTHER TIPS

If you want to access the text of the selected option you might use:

$("#list option:selected").text();

Alternatively you could access the option directly this way:

$("#list option[value=2]").text();

#list is the id of the specific select. You should assign an id (e. g. <select id="list">) in order to avoid conflicts with other select tags.

var text = $(option[value='1']).text();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top