7-8实现不了效果喃?请老师帮检查一下
来源:7-8 编程练习
视线模糊
2020-04-18 16:02:29
选择省份的时候onchange没出效果。。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>7-6编程练习</title>
<script type="text/javascript" src="7-6.js"></script>
</head>
<body onload="address()">
<form>
<label>省份:</label><select name="sf" id="sf" onchange="selectChange()"></select>
<label>市/区:</label><select name="sq" id="sq"></select>
</form>
</body>
</html>
+++++++++++++++++++++++++++++++++++++++++++(分割)
// 定义数组保存省/市的名字
var sf1 = ["北京市", "天津市", "河北省", "河南省"];
var sq1 = ["朝阳区", "西城区", "石家庄", "邯郸市", "西青区", "武清区", "郑州市", "开封市"];
function address() {
//获取省份、市区
var sf = document.getElementById("sf");
var sq = document.getElementById("sq");
selectAdd(sf, sf1, sf1);
selectAdd(sq, sq1, sq1);
}
function selectAdd(obj, name, value) {
for (var i = 0; i < name.length; i++) {
obj.options.add(new Option(name[i], value[i]));
}
}
//实现选择省份后,下拉菜单显示出所属城市
function selectChange() {
var sf = document.getElementById("sf");
var sq = document.getElementById("sq");
sq.length = 0;
if (sf.value == "北京市") {
sq.options.add("朝阳区");
sq.options.add("西城区");
} else if (sf.value == "天津市") {
sq.options.add("西青区");
sq.options.add("武清区");
} else if (sf.value == "河南省") {
sq.options.add("开封市");
sq.options.add("郑州市");
} else if (sf.value == "河北省") {
sq.options.add("邯郸市");
sq.options.add("石家庄");
}
}
1回答
同学你好,同学的js代码中添加下拉框属性方法有误,应改为如下图所示:
同时我们第一次访问页面时,下拉框会显示不是北京市的城区,如下图:
我们默认显示第一个北京市,所以同学可以将数组中其它不属于北京的城市去掉,代码如下图:
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题