0

我在 HTML 中有下一个菜单:

<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
}

我该怎么做?

4

3 回答 3

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/

于 2013-04-27T19:54:11.870 回答
1

所以你想得到option value的selected optiononchange的值对吗?你可以试试这样:-

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 中,`this 的上下文将是窗口。如果您想将窗口内的上下文作为下拉菜单本身,您可以使用应用或调用。

<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.
}
于 2013-04-27T19:54:12.653 回答
0

HTML 中的 select 元素提供了一个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
};
于 2013-04-27T19:55:23.957 回答