2012-01-07 15 views
7

Tengo un formulario en HTML que contiene un menú desplegable como talComo lee el valor del elemento seleccionado de un menú HTML desplegable en una función de JavaScript

<form name= "gadget_selector"> 
    <select name= "gadget"> 
     <option value = 0> Something </option> 
     <option value = 1> Something else </option> 
     //etc.. 
    </select> 
</form> 

Y quiero acceder al valor de los seleccionados opción en una función de Javascript como

function someFunction(){ 

    //var option = value of selected menu option 
} 

¿Cómo puedo hacer esto?

+0

duplicado posible de [Obtener valor seleccionado en la lista desplegable usando JavaScript?] (Http: //stackoverflow.com/questions/1085801/get-selected-value-in-dropdown-list-using-javascript) – totymedli

Respuesta

9
var option = document.getElementById('gadget').value; 

Establecer gadget como el id para el selecto así, como este:

<select id="gadget" name="gadget"> 
     <option value = 0> Something </option> 
     <option value = 1> Something else </option> 
     //etc.. 
    </select> 
+0

¡Gracias! ¡Eso es exactamente lo que necesitaba! – Zack

+0

Es 'val()' en vainilla javascript? Pensé que le pertenece a jQuery. –

+1

Estoy bastante seguro de que esto no funcionará, '.val()' no es una función nativa para ningún navegador. estás buscando '.value' en lugar de' .val() ' –

2

asignar id-select box "Gadget":

<select name= "gadget" id="gadget"> 
    <option value = 0> Something </option> 
     <option value = 1> Something else </option> 
     //etc.. 
    </select> 

ahora ser seleccionado valor en javascript como a continuación:

function GetSelectedItem() { 

    var option = document.getElementById('gadget').value; 

    } 
+0

He intentado hacer una prueba var option = document.getElementById ('gadget'). Val(); alerta (opción); Todavía no hay ir aunque. La primera publicación tampoco funcionó – Zack

+0

bien. Tuve() paréntesis después del valor. Gracias a todos – Zack

+0

@Zack: Lo comprobé trabajando bien con document.getElementById ('gadget'). Valor para mí. Así que verifique todas las etiquetas html o el error de javascript en la consola. incluso intente con una simple alerta de javascript si funciona o no. Podría ser Algo Otro es conflictivo –

0

Primero, asigne una identificación a su etiqueta <select>.

<select id='gadget' name= "gadget"> 

A continuación, obtener su valor

if (document.getElementById('gadget')) { 
    var val = document.getElementById('gadget').value; 
    alert(val); 
} 
0

Puede acceder por id, como esto: =

<form name= "gadget_selector" > 
     <select name= "gadget" id='sel'> 
      <option value = 0> Something </option> 
      <option value = 1> Something else </option> 
      //etc.. 
     </select> 
    </form> 


    function getvalue(){ 

     if(document.getElementById('sel')) 
     { 
     alert(document.getElementById('sel').value); 
     var option = document.getElementById('sel').value; 
     } 

    } 
1

incluir un idattribute para seleccionar el elemento y hacer como abajo, yo soy seguro que voy a trabajar,

var obj = document.getElementById("gadget"); 
alert(obj.value); // returns selected option value (1st method) 
var selectedOption = obj.options[obj.selectedIndex]; // returns selected option element 
alert(selectedOption.value); // return selected option value (2nd method) 

ejemplo: http://jsfiddle.net/zUBpz/

+0

bueno;) Uso cosas como esta. –

0

aquí formas [0] es el número del formulario a partir de 0, de arriba a abajo de la página

function someFunction(){ 
    var option = window.document.forms[0].gadget.value; 
} 
Cuestiones relacionadas