将选择值发送给JS函数

时间:2013-04-27 19:43:26

标签: javascript html

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

我该怎么做?

3 个答案:

答案 0 :(得分: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/

答案 1 :(得分: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里面,`这将是窗口的上下文。如果您希望将窗口中的上下文作为下拉列表本身,则可以使用apply或call。

<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 :(得分:0)

HTML中的select元素提供onchange事件,如果您选择新值(new =未选中的选项),则会触发该事件。

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