У меня есть следующий HTML-код, содержащий раскрывающийся список (один выбор)
<script type="text/javascript">
$(document).ready(function () {
$("#garden").bind('change', function() {
alert("Changed");
});
});
</script>
<body>
<div id="content">
<select id="garden">
<option value="flowers">Flowers</option>
<option value="shrubs">Shrubs</option>
<option value="trees">Trees</option>
<option value="bushes">Bushes</option>
</select>
</div>
</body>
</html>
Когда HTML-страница визуализируется, Flowers
является уже выбранным элементом в раскрывающемся списке по умолчанию (первым). Если я выбираю любое другое значение (кроме цветов), функция Javascript запускается и отображается окно предупреждения, содержащее Changed.
Q1: Но если я снова выберу Flowers
, событие onchange
не сработает. Я понимаю, что это потому, что в раскрывающемся списке ничего не было «изменено». Есть ли способ запустить функцию, даже если в раскрывающемся списке уже выбранное значение не изменяется?
Q2: Как извлечь значение элемента, который только что был выбран (даже если ничего нового не было выбрано, то есть пользователь щелкнул раскрывающийся список и просто щелкнул где-то еще).
Я уже пробовал onblur
, но для этого требуется, чтобы пользователь щелкнул где-то еще в документе, чтобы раскрывающийся список потерял фокус. Любая помощь могла бы быть полезна.
[Для краткости я удалил заголовки HTML и другие включения скриптов во фрагменте кода.]