请检查我的代码我试图从不同的下拉菜单中获取两个值。
<select name="select1" onchange="updatevariable(data1,select2)">
<option value="2" >2</option>
<option value="15" >15</option>
</select>
<select name="select2" onchange="updatevariable(select1,data2)">
<option value="1" >1</option>
<option value="23" >23</option>
</select>
<script type="text/javascript">
var value = "test";
var value1 = "test";
function updatevariable(data1,data2) {
value = data1;
value1 = data2;
alert(value,value1);
}
</script>
感谢
答案 0 :(得分:1)
试试这个:
说明:
你所拥有的是内联脚本,应该避免使用它。您可以使用此替换所有代码。在您的HTML中,您想要做的事情不会那样。 updatevariable(data1,select2)
没有得到变量或select元素。所以请尝试我的解决方案。
var value = "test";
var value1 = "test";
var sel = document.getElementsByTagName('select');
function updatevariable() {
value = sel[0].value;
value1 = sel[1].value;
alert(value +' - '+ value1);
}
for (var i = 0; i < sel.length; i++) {
sel[i].addEventListener('change', updatevariable);
};
如果要编写很多代码,也可以使用jQuery或Mootools。否则只是简单的JS也很好......
答案 1 :(得分:0)
试试这个:
<select name="select1" id="select1" onchange="updatevariable(1,select1)">
<option value="2" >2</option>
<option value="15" >15</option>
</select>
<select name="select2" id="select2" onchange="updatevariable(2,select2)">
<option value="1" >1</option>
<option value="23" >23</option>
</select>
<script type="text/javascript">
var values = new Array();
function updatevariable(index,id) {
var value = document.getElementById(id).value;
values[index] = value;
}
</script>
答案 2 :(得分:0)
您正在引用不存在的JS变量:data1
,data2
,select
,select2
您无需将任何变量传递给函数。试试这个:
使用id
select
更新了HTML
<select id="select1" name="select1" onchange="updatevariable(this)">
<option value="2" >2</option>
<option value="15" >15</option>
</select>
<select id="select2" name="select2" onchange="updatevariable(this)">
<option value="1" >1</option>
<option value="23" >23</option>
</select>
你的JS功能:
window.updatevariable = function(el) {
value = document.getElementById('select1').value;
value1 = document.getElementById('select2').value;
alert(value +' | ' + value1);
}