2013-04-27 53 views
0

我在HTML中的下一個菜單:發送選擇值以JS功能

<select name="p1"> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
</select> 

現在,我想將它發送給我的JS功能:

function myFunc(menuValue){ 
//do something 
} 

我該怎麼辦呢?

回答

1

所以你想獲得期權價值的選擇的選項onchange的價值對?你可以試試這個方法: -

http://jsfiddle.net/T8CKU/

<select name="p1" onchange="myfunc(this.value);"> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
</select> 

function myFunc(menuValue){ 
    alert(menuValue) 
} 

這裏裏面在myfunc`這將是窗口中的上下文。如果您想要在窗口內獲取上下文,您可以使用應用或調用。

<select name="p1" onchange="myFunc.call(this);"> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
</select> 

function myFunc(){ 
    alert(this.value); //This will give the value again. 
} 
2

事情是這樣的:

的Javascript:

var selectObj = document.querySelector("#selectID"), 
    displayObj = document.querySelector(".display"); 
selectObj.onchange = function(evt){ 
    myFunc(this.value); 
} 

function myFunc(menuValue){ 
    displayObj.innerHTML = menuValue; 
} 

HTML:

<select id = "selectID" name="p1"> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
</select> 
<div class='display'></div> 

http://jsfiddle.net/NeekGerd/4H5aq/

+0

爲什麼你使用querySelector來選擇ID? 'display'也可以是'id'而不是一個類。 – Paulpro 2013-04-27 19:58:44

+0

壞習慣。我想我太用jQuery了。 – YoannM 2013-04-27 19:59:36

0

在HTML中選擇元素提供,如果你選擇一個新值(新=這是沒有選擇的選擇),其火災的onchange事件。

<select name="p1" onchange="myFunc(option);"> 
    <option value="A">A</option> 
    <option value="B">B</option> 
    <option value="C">C</option> 
</select> 

function myFunc(option) { 
    // whatever you need to do 
};