У меня есть следующий 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 будет запущена, и появится окно с предупреждением, содержащее "Изменено".
Q1: В случае повторного выбора Flowers
событие onchange
не запускается. Я понимаю, потому что в раскрывающемся списке ничего не было "изменено". Есть ли способ, с помощью которого функция запускается, даже если в раскрывающемся списке не было изменений в уже выбранном значении?
Q2: Как извлечь значение только что выбранного элемента (даже если ничего не было выбрано, то есть пользователь нажал на выпадающее меню и просто щелкнул где-то еще).
Я уже пробовал "onblur", но это требует, чтобы пользователь щелкал в другом месте документа, чтобы выпадающее меню теряет фокус. Любая помощь будет действительно оценена.
Большое спасибо. [Я отредактировал заголовки HTML и другие включения script в кратком фрагменте кода, предоставленном для краткости.]