Получение текста выбранного параметра <в элементе <select>

В следующем:

<select id="test">
    <option value="1">Test One</option>
    <option value="2">Test Two</option>
</select>

Как получить текст выбранной опции (т.е. "Test One" или "Test Two" ) с помощью JavaScript

document.getElementsById('test').selectedValue возвращает 1 или 2, какое свойство возвращает текст выбранной опции?

Ответ 1

function getSelectedText(elementId) {
    var elt = document.getElementById(elementId);

    if (elt.selectedIndex == -1)
        return null;

    return elt.options[elt.selectedIndex].text;
}

var text = getSelectedText('test');

Ответ 2

Если вы используете jQuery, вы можете написать следующий код:

$("#selectId option:selected").html();

Ответ 3

document.getElementById('test').options[document.getElementById('test').selectedIndex].text;

Ответ 5

Свойство options содержит все <options> - оттуда вы можете посмотреть .text

document.getElementById('test').options[0].text == 'Text One'

Ответ 6

В HTML5 вы сможете это сделать:

document.getElementById('test').selectedOptions[0].text

Однако в настоящее время поддержка браузера отсутствует. Chrome 27 (текущий в момент написания) поддерживает это, но см. Выдающуюся ошибку для Mozilla https://bugzilla.mozilla.org/show_bug.cgi?id=596681, указывающую, что этого не происходит в настоящее время.

Ответ 7

this.options [this.selectedIndex].innerText

Ответ 8

Если вы нашли эту тему и хотели узнать, как получить выбранный текст опции через событие, вот пример кода:

alert(event.target.options[event.target.selectedIndex].text);

Ответ 9

Используйте объект списка выбора, чтобы определить его собственный выбранный параметр. Оттуда - захватите внутренний HTML этого индекса. И теперь у вас есть текстовая строка этого параметра.

<select onchange="alert(this.options[this.selectedIndex].innerHTML);">
       <option value="">Select Actions</option>
       <option value="1">Print PDF</option>
       <option value="2">Send Message</option>
       <option value="3">Request Review</option>
       <option value="4">Other Possible Actions</option>
    </select>

Ответ 10

Подобно @artur, просто без jQuery, с простым javascript:

//Используя @Sean-яркую переменную "elt"

var selection=elt.options[elt.selectedIndex].innerHTML;

Ответ 11

Вы можете использовать selectedIndex для извлечения текущего выбранного option:

el = document.getElementById('elemId')
selectedText = el.options[el.selectedIndex].text