tengo el siguiente código HTML que contiene una lista desplegable (selección simple)HTML elemento select onChange detonante de la opción seleccionada ya
<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>
Cuando se procesa la página HTML, Flowers
es el elemento ya seleccionado en el desplegable abajo por defecto (siendo el primero). Si selecciono otro valor (que no sea "Flores"), se activa la función javascript y se muestra un cuadro de alerta que contiene "Cambiado".
Q1: Pero, en caso de que vuelva a seleccionar Flowers
de nuevo, el evento onchange
no se desencadena. Entiendo que es porque nada fue 'cambiado' en la lista desplegable. ¿Hay alguna manera de activar una función incluso cuando no se realiza ningún cambio en el valor ya seleccionado en el menú desplegable?
Q2: cómo extraer el valor del elemento que se acaba de seleccionar (incluso si no se seleccionó nada nuevo, es decir, el usuario hizo clic en el menú desplegable y simplemente hizo clic en otro lugar).
Ya he probado el "onblur" pero eso requiere que el usuario haga clic en otra parte del documento para que el menú desplegable pierda el foco. Cualquier ayuda sería realmente apreciada.
Muchas gracias. [He editado las cabeceras HTML y otras inclusiones de secuencia de comandos en el fragmento de código proporcionado por razones de brevedad.]
Wow, gracias por esto. Funciona casi perfectamente para mí: D – Shrey