30/11/2016, 02:53
|
| | | Fecha de Ingreso: julio-2011 Ubicación: Barcelona
Mensajes: 29
Antigüedad: 13 años, 4 meses Puntos: 2 | |
Respuesta: Detectar evento "onchange" en lista desplegable Hola,
Creo entender que pretendes lo siguiente:
Cuando tenemos una lista desplegable select con diferentes option, en general nos interesará saber cuál de los elementos option es el que se encuentra seleccionado y el contenido de su atributo value. Para ello hemos de tener en cuenta que:
a) Cada elemento HTML de tipo select tiene una propiedad denominada options, de tipo array, que contiene los elementos options con índice 0, 1, 2, … n. Por ejemplo aquí vemos cómo extraer los elementos select, sus atributos value y el texto que contienen (mediante la propiedad text).
var elementosSelect = document.getElementsByTagName('select');
alert('Contenido de value es: '+ elementosSelect[0].value;
alert('Contenido texto es: '+ elementosSelect[0].text;
La propiedad selectedIndex del elemento select nos devuelve el índice numérico de la opción seleccionada (la primera opción tiene índice 0, la segunda 1, y así sucesivamente).
Aquí vemos un ejemplo de cómo se puede utilizar selectedIndex:
var elementoCiudad = document.getElementById('ciudad');
var indiceSeleccionado = elementoCiudad.selectedIndex;
alert (elementoCiudad.options[indiceSeleccionado].text);
También podemos escribir elementoCiudad.options[elementoCiudad.selectedIndex].text prescindiendo del uso de la variable intermedia indiceSeleccionado.
El evento para detectar cambios en los select normalmente será “onchange”.
Yo lo tengo implementado en relación con la selección letra por letra del código de captcha en:
[URL="http://tecnicoinformaticobarcelona.com/"]tecnico informatico[/URL]
Saludos,
Manuel
Última edición por maligix; 30/11/2016 a las 02:54
Razón: cambio
|