события работают в избранных, а не вариантов, но только условно к скрипту.
<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]
, но не уверены в этом. More.
- @ Kosh, что раздражает! Просто сделайте
dictionary = {0:"topic", 1:"hello",...,n:"topic_{n}"}
, а затем используйте getElementById('topic').selectedId
в качестве ключа и забудьте значения. Не разрешено, а округлено.
[Update] Я думаю, что я решил это, просто 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>
вы хотите в 'change' событие. – drudge
Почему вы продолжаете говорить «stdout»? На стороне клиента, JavaScript действительно имеет только один способ. – vol7ron
vol7ron: Возможно, я глуп. Извините, но не заботится о defs, слишком долго ударил головой в эту тему, googling возвращает такие предложения, как 'el.options [el.selectedIndex] .value;' но это разумное питание, когда они не работают. Пытаюсь решить эту проблему ... – hhh