Ссылка на выбранный элемент в раскрывающемся меню с использованием DOM

Есть ли способ сослаться на выбранный элемент из выпадающего меню, реализованного с использованием выбора, помимо индексного номера? Например, мне нужна функция javascript, которая делает что-то вроде:

if (document.getElementById("My_Select_Menu").selectedIndex.value == "Blue")
{
  do something;
}

но selectedIndex, похоже, возвращает только номер ссылки на первый выбранный элемент. Кажется, должен быть способ сослаться на значение выбранного элемента, я его пропустил?


person nschomer    schedule 03.09.2011    source источник


Ответы (3)


Пытаться:

var sel = document.getElementById("My_Select_Menu");
if (sel.options[sel.selectedIndex].value == "Blue") {
    // do something
}

selectedIndex возвращает смещение выбранной опции (в виде целого числа), поэтому вам нужно использовать это, чтобы получить фактический элемент из опций <select>.

Демо.

person karim79    schedule 03.09.2011
comment
Да, хотелось бы, чтобы так было всегда :) - person karim79; 04.09.2011

Вы можете включить JQuery и использовать это, чтобы делать то, что вы хотите:

if($('#My_Select_Menu').val()=='Blue')
{
 ...
 }

http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js

person Icarus    schedule 03.09.2011

Если все параметры в выборе имеют атрибут значения или набор свойств, то просто:

if (document.getElementById("My_Select_Menu").value == "Blue")

подойдет для всех браузеров, начиная с IE и Navigator 4.

person RobG    schedule 03.09.2011