События работают в select, не для параметров, а только в зависимости от сценария.
<html>
<body>
<script>
function alertMe(option){
if(option == "saab"){
window.alert("you clicked saab in selec!");
document.getElementById("txt").value='saab!';
}
}
</script>
<select onChange="alertMe(this.value);">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="m"> Mercedes</option>
<option>Audi</option>
</select>
<input type="text" id="txt" value="change me"></input>
</body>
</html>
[Ответы на обновления]
- Вы можете получить доступ к выбору с помощью
document.getElementById('topic').options.selectedIndex
или mySelect.options[selectedIndex].value
(не работает со мной). И, очевидно, вы могли бы создать форму, к которой вы могли бы обратиться по document.forms['topic'].elements[id]
, но не были уверены в этом. Подробнее.
- @ Кош, это раздражает! Просто введите
dictionary = {0:"topic", 1:"hello",...,n:"topic_{n}"}
, а затем используйте getElementById('topic').selectedId
в качестве ключа и забудьте о значениях. Не решено, но округлено.
[Обновление] Я думаю, что решил это, просто el.value
, нет selectedIndex
необходимо:
<html>
<body>
<script>
function printSelectValue()
{
var el = document.getElementById("selectOne");
alert(el.value);
}
</script>
<select id="selectOne" onChange="printSelectValue()">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="m"> Mercedes</option>
</select>
</body>
</html>