Пара проблем.
Вы не связываете функцию showSelectedOption
, вместо этого вызываете ее и используете возвращаемое значение (, равное undefined
) в качестве обработчика события.
Поэтому передайте showSelectedOption
, не вызывая его.
Затем вам нужно будет найти selectedIndex
этого элемента внутри метода, используя event
, переданный функции, когдаinput
событие срабатывает.
function showSelectedOption(event) {
var element = event.target,
index = element.selectedIndex,
value = element.options[index].value;
alert(value);
}
var list = document.createElement("select");
list.id = "listId";
list.addEventListener('input', showSelectedOption);
for (var i = 0; i < 3; i++) {
var option = document.createElement("option");
option.value = "none";
option.text = "text";
list.appendChild(option);
}
document.body.appendChild(list);