为什么变量c会取不到select的value值
来源:3-12 编程练习
所向无一
2019-05-12 23:43:23
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>onchange()</title>
<style type="text/css">
#div{
width:300px;
height:300px;
border:2px solid gray;
margin:100px 0 0 200px;
}
</style>
<script type="text/javascript">
//补充代码
window.onload=function(){
var a = document.getElementById('color');
var b = document.getElementById('div');
var c = a.value;
a.onchange=function(){
if(this.value==0){
b.innerHTML="我没有发生任何变化"
b.style.backgroundColor='';
}else{
b.innerHTML="我的背景变成了"+a+"色";
b.style.backgroundColor=this.value;
}
}
}
</script>
</head>
<body>
<div>
<span>请选择您喜欢的颜色:</span>
<select id="color">
<option value="0">请选择</option>
<option value="yellow">黄色</option>
<option value="orange">橘色</option>
<option value="pink">粉色</option>
<option value="purple">紫色</option>
</select>
</div>
<div id="div">我是div</div>
</body>
</html>1回答
同学你好, 直接打印c的结果为0, 获取到了select的值, 但是因为在change事件外定义的的c, 所以下拉框发生改变的时候c不会发生改变。 另, 可以直接使用this.value设置div的内容哦。 建议参考下图:

如果帮助到了你, 欢迎采纳!
祝学习愉快~~
相似问题