从下拉列表中获取值并将其传递给另一个函数(JS)

时间:2014-10-02 11:39:16

标签: javascript forms

你能告诉我我的代码有什么问题吗?

我有这个下拉列表:

<select name="mySelect" id="mySelect" onchange="getSelectedValue();">  
<option value="1">Text 1</option>  
<option value="2">Text 2</option>  

以下脚本:

function getSelectedValue() {  
var index = document.getElementById('mySelect').selectedIndex;  
var index = document.getElementById('mySelect').value;  
return index;    
}  
function passValue(x){
var a = x;
alert(a);
}    
passValue(getSelectedValue());

getSelectedValue函数工作正常,但是当我尝试传递值时,它返回到passValue函数,没有任何反应。我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

您可以添加change事件监听器并调用passValue函数,如下所示:

var select = document.getElementById('mySelect');

select.addEventListener("change",function() {
  passValue(this.value);
});

function passValue(x) {
  var a = x;
  alert(a);
}
<select name="mySelect" id="mySelect" >
  <option value="1">Text 1</option>
  <option value="2">Text 2</option>
</select>

答案 1 :(得分:0)

试试这个

function getSelectedValue() {  
var index = document.getElementById('mySelect').selectedIndex;  
var index = document.getElementById('mySelect').value;  
return index;    
}  
function passValue(x){
var a = x();
alert(a);
}

jQuery('#mySelect').change(function(){
    passValue(getSelectedValue)
})