Как захватить текст опции выбора? - PullRequest
0 голосов
/ 21 июня 2011

Итак, у меня есть это:

<select id="list">
    <option value="1">This is Me</option>
    <option value="2">This is You</option>
    <option value="3">And this is Mr. Nukem</option>
</select>

Как бы я взял здесь «текст» опций? Проблема в том, что он должен быть «динамическим», в том смысле, что мне нужен текст для текущей выбранной опции ...

Я знаю ручной, статический способ получения текста ...

document.getElementById('list').options[1].text

Это схватит "Это ты" ... Но как мне получить его для текущей выбранной опции? Так как я не могу просто использовать:

document.getElementById('list').value

Как это схватит число ...: - (

Ответы [ 3 ]

3 голосов
/ 21 июня 2011
var list = document.getElementById('list');
var text = list.options[list.selectedIndex].text;

См. (Например) здесь https://developer.mozilla.org/en/DOM/HTMLSelectElement

0 голосов
/ 21 июня 2011

Если вы можете использовать jQuery, вы можете попробовать что-то вроде этого:

$("#list").change(function() {
    alert($(this).find("option[value=" + $(this).val() + "]").text());
});

См. http://jsfiddle.net/MWu9f/ для рабочего примера.

0 голосов
/ 21 июня 2011
$("#list option[value='2']").text()

Вы можете использовать эту строку jQuery, и она решит вашу проблему.

В этом элементе со списком идентификаторов, значение свойства которого равно 2. То, что вы хотите, это дочерний параметр опциисписок.

...