Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/11/2016, 02:53
Avatar de maligix
maligix
 
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