2017-09-30 5 views
0

lorsque vous cliquez sur cet élément de sélection, l'appel en ligne « onchange » doit appeler une fonction javascript:comment obtenir la valeur de l'élément de sélection par ligne javascript

<select onchange="if (this.selectedIndex) do_something();"> 
    <option value=1>1</option> 
    <option value=2>2</option> 
</select> 

essentiellement comment soumettre l'option sélectionnée pour « do_something()' fonction? ou dans la fonction comment puis-je obtenir la valeur de l'option sélectionnée?

+0

Possible dupliquer de [Comment passer les paramètres sur onChange de html select] (https://stackoverflow.com/questions/5024056/how-to-pass-parameters-on-change-of-html-select) – Andrew

+0

Possible dupliquer de [Obtenir la valeur sélectionnée dans la liste déroulante en utilisant JavaScript?] (https://stackoverflow.com/questions/1085801/get-selected-value-in-dropdown-list-using-javascript) –

Répondre

1

vous pouvez essayer ceci:

function do_something(e) { 
 
    alert(e); 
 
}
<select onchange="if (this.selectedIndex) do_something(this.value);"> 
 
    <option value=1>1</option> 
 
    <option value=2>2</option> 
 
    <option value=3>3</option> 
 
    <option value=4>4</option> 
 
</select>

Vous remarquerez peut-être que je ne vais pas travailler pour 1 en raison de selectedIndex qui est égale à 0 pour le premier indice (la valeur 1)

il peut être ainsi plus générique:

function do_something(e) { 
 
    //we make do test on the element e 
 
    alert(e.value); 
 
}
<select onchange="do_something(this);"> 
 
    <option value=1>1</option> 
 
    <option value=2>2</option> 
 
    <option value=3>3</option> 
 
    <option value=4>4</option> 
 
</select>

1

function do_something(i){ 
 
    console.log(i); 
 
}
<select onchange="do_something(this.selectedIndex);"> 
 
    <option value=1>1</option> 
 
    <option value=2>2</option> 
 
</select>

Essayez d'ajouter comme paramètre dans la fonction do_something.

+0

selectedIndex ne contiendra pas la valeur mais l'indice de la valeur que vous pouvez voir –