IE6: получить значение элемента выбора DOM - PullRequest
1 голос
/ 05 декабря 2009

Итак, у меня проблема с кросс-браузерным JavaScript.

У меня есть элемент <select> dom, у которого есть какой-то потомок <option> с selected=true.

В Firefox я могу просто сделать select_elt.value, чтобы получить значение выбранной опции, но, похоже, это не работает в IE6 (который мне нужно поддерживать).

Я пытался перебрать select_elt.getElementsByTagName('option'), чтобы найти выбранный <option>, что я мог бы сделать, но option_elt.value все еще не дает мне значение этой опции.

Итак, как правильно получить значение опции или выбрать элемент в IE6?

(да, я знаю, что должен переключиться на jQuery или какую-либо другую кроссплатформенную библиотеку, и я еще могу, но теперь мне интересно, как это делается вообще в IE6)

Ответы [ 3 ]

2 голосов
/ 05 декабря 2009

Это наиболее совместимый с браузером способ (по моему опыту) сделать это:

var mySelect = document.getElementById('mySelect');
alert(mySelect.options[mySelect.selectedIndex].value);
0 голосов
/ 05 декабря 2009

Попробуйте это:

select_elt.options[select_elt.options.selectedIndex].value
0 голосов
/ 05 декабря 2009

Нашел в jquery :

(option_elt.attributes.value || {}).specified ? option_elt.value : option_elt.text
...