onchange 事件效果很好,可以很好地填充我的输入(文本框),但是当 onchange 事件应用于下拉框且其中只有 1 个选项时,它不起作用。即使有一个或多个项目,我怎样才能让 onchange 触发?
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
</style>
<script type="text/javascript">
function test(x) {
var x = document.getElementById(x).options[document.getElementById(x).selectedIndex].text
document.getElementById('output').value = x
}//end of function
</script>
</head>
<body>
<select id="drop1" onchange="test(this.id)">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<br><br>
<select id="drop2" onchange="test(this.id)">
<option value="volvo">Volvo</option>
</select>
<br><br>
<input type="text" id="output">
</body>
</html>
原文由 John Smith 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果只有一项,它永远不会改变。尝试
onblur
代替。或者也许onclick
,这取决于你 实际 想要做什么。