2012-01-07 11 views
7

Ho una forma in HTML che contiene un menu a discesa in questo modoCome leggere il valore della voce selezionata di un menu html discesa in una funzione javascript

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

E voglio accedere al valore della selezionato opzione in una funzione javascript come

function someFunction(){ 

    //var option = value of selected menu option 
} 

Come faccio?

+0

Possibile duplicato del [Get valore selezionato in elenco a discesa utilizzando JavaScript?] (Http: //stackoverflow.com/questions/1085801/get-selected-value-in-dropdown-list-using-javascript) – totymedli

risposta

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

Impostare gadget come id per la select così, in questo modo:

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

Grazie! Questo è esattamente ciò di cui avevo bisogno! – Zack

+0

È 'val()' in vanilla javascript? Pensavo appartenesse a jQuery. –

+1

Sono sicuro che questo non funzionerà, '.val()' non è una funzione nativa per nessun browser. stai cercando '.value' piuttosto che' .val() ' –

2

assegnare id-select box "gadget":

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

ora ottenere il valore selezionato in javascript come sotto:

function GetSelectedItem() { 

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

    } 
+0

Ho provato a fare un test var option = document.getElementById ('gadget'). Val(); Avviso (opzione); Ancora no go però. Il primo post non ha funzionato allo stesso modo – Zack

+0

ok. Ho avuto() parentesi dopo il valore. Grazie a tutti – Zack

+0

@Zack: ho verificato il suo corretto funzionamento con document.getElementById ('gadget'). Value for me. Quindi controlla tutti i tag html o l'errore javascript nella console. anche provare con un semplice avviso javascript se funziona o no. Potrebbe essere Qualcosa di altro è in conflitto –

0

Innanzitutto, assegnare un ID al tag <select>.

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

Quindi, ottenere il suo valore

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

È possibile accedere da id, come questo: =

<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

includono una idattribute per selezionare elementi e fare come sotto, io sono sicuramente funzionerò,

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) 

esempio: http://jsfiddle.net/zUBpz/

+0

buono;) Io uso cose come questa. –

0

qui forme [0] è il numero di modulo a partire da 0 da cima a fondo pagina

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