2010-07-21 10 views
43

¿Cómo se obtiene el actualmente seleccionado <option> de un elemento <select> a través de JavaScript?¿Cómo se obtiene el <option> actualmente seleccionado en un <select> a través de JavaScript?

+1

Posible duplicado: [¿Cómo obtener el valor seleccionado de la lista desplegable usando JavaScript?] (Http://stackoverflow.com/questions/1085801/how-to-get-the-selected-value-of-dropdownlist-using- javascript) –

+1

@AndersonGreen: esa no es * exactamente * la misma pregunta. De hecho, se está preguntando cómo obtener el texto de la selección '

Respuesta

78

Esto lo hará por usted:

var yourSelect = document.getElementById("your-select-id"); 
alert(yourSelect.options[ yourSelect.selectedIndex ].value) 
+9

si lo usa para acceder al valor de la opción, también puede usar 'yourSelect.value'. Es posible que los navegadores antiguos y arcaicos no lo admitan, pero IE6 y todos los navegadores modernos sí. –

+0

@Andy E: ooh, hay una idea: de hecho, eso es lo que estoy haciendo, y su código es un poco más fácil de leer. –

+0

@Andy E: ah, una advertencia sobre ese método - no devuelve el texto del elemento '

17

El .selectedIndex del objeto select tiene un índice; puede usar eso para indexar en la matriz .options.

+0

¡Esto es definitivamente más semántico que la respuesta principal! –

+0

Este es el enfoque más elegante y sencillo – Rice

2
var payeeCountry = document.getElementById("payeeCountry"); 
alert(payeeCountry.options[ yourSelect.selectedIndex ].value); 
+0

Su respuesta ha sido marcada como 'baja calidad' debido a su longitud y contenido. ¿Puedo sugerir que hagas un comentario a la pregunta? –

1

Utilizando la propiedad selectedOptions:

var yourSelect = document.getElementById("your-select-id"); 
alert(yourSelect.selectedOptions[0].value); 

Se works en todos los navegadores excepto Internet Explorer.

+0

"Funciona en todos los navegadores, excepto Internet Explorer." Tan pronto como todos dejen de usar Internet Explorer, ¡estamos felices! [PoliFill posible aquí] (https://gist.github.com/brettz9/4212217). –

Cuestiones relacionadas