Javascript 仅使用一个
onchange事件工作得很好,可以很好地填充我的输入文本框,但是当onchange事件应用于只有一个选项的下拉框时,它就不起作用了。即使有一个或多个项目,如何使onchange启动Javascript 仅使用一个,javascript,Javascript,onchange事件工作得很好,可以很好地填充我的输入文本框,但是当onchange事件应用于只有一个选项的下拉框时,它就不起作用了。即使有一个或多个项目,如何使onchange启动 <!DOCTYPE html> <html> <head> <style type="text/css"> </style> <script type="text/javascript"> function test(x) {
<!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>
如果只有一项,它永远不会改变。试试模糊。或者单击onclick,这取决于您实际要执行的操作。您可以在每个选择框的顶部添加一个空选项,或者一个只显示-select-的选项。然后,如有必要,修改脚本以忽略空选择。我正在回答这个问题,以防它能在2020年帮助某人。我遇到了同样的问题,将数据库中的数据填充到只有一个数据的表单中,我能够用这种方法解决。在这个例子中,我将用它来做插图 首先,必须使用函数清空select元素
$('#drop2').empty();
其次,使用select将空值添加到select中
之后,您可以继续将数据添加到select元素中,因为它们将是两个选项,一个为空,另一个携带数据
最后,使用in success函数以这种方式从服务器填充数据
success:function(response){
$('#drop2').empty().append("<option value='0'>Select</option>");
response.forEach((item)=>{
$('#drop2').append("<option value='"+item[]+"'>"+item[1]</option>");
});
我使用了.forEach我就是不知道,当只有一个可用选项时,如何更改选项?“drop2”只有一个选项。如果我选择它,我希望该值显示在我的文本框中。该值是如何填充的?在服务器上,还是通过JavaScript?好的,gilly3对此有一个很好的答案,除了他的建议之外,还可以使用onfocus。
success:function(response){
$('#drop2').empty().append("<option value='0'>Select</option>");
response.forEach((item)=>{
$('#drop2').append("<option value='"+item[]+"'>"+item[1]</option>");
});