首次的onload, 市/區無法跟著省份, 怎麼改變呢
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function address() {
/*请在此补充代码*/
var a = document.getElementById("a");
var b = document.getElementById("b");
var aArr = ["北京市", "天津市", "河北市", "河南市"];
var bArr = ["朝陽區", "西城區", "石家庄", "邯鄲市", "西青區", "武清區", "鄭州市", "開封市"];
selectAdd(a, aArr, aArr.length);
selectAdd(b, bArr, bArr.length);
a.selectedIndex = 0;
}
function selectAdd(obj, name, value) {
/*请在此补充代码*/
for (var i = 0; i < value; i++) {
obj.options.add(new Option(name[i], i));
}
}
function linkage() {
/*请在此补充代码*/
var a = document.getElementById("a");
var b = document.getElementById("b");
var arr;
var aVal = parseInt(a.value);
if (aVal === 0) {
arr = [b[0].text, b[1].text];
} else if (aVal == 1) {
arr = [b[2].text, b[3].text];
} else if (aVal == 2) {
arr = [b[4].text, b[5].text];
} else if (aVal == 3) {
arr = [b[6].text, b[7].text];
}
b.options.length = 0;
selectAdd(b, arr, arr.length);
}
</script>
</head>
<body onload="address()">
<form>
省份:
<!-- 请在此补充代码 -->
<select id="a" onchange="linkage()"></select>
市/区:
<!-- 请在此补充代码 -->
<select id="b"></select>
</form>
</body>
</html>只有第一次onload, 市/區無法跟著省份呈現, 不曉得能如何做變更呢?

另外代碼的部分有需要再優化嗎?
16
收起
正在回答
2回答
同学你好,测试同学最新贴出的代码,运行效果是正确的,但是有一点小建议,根据省市分级,西青区、武清区属于添加市,建议根据对应层级添加市区,修改后如下:

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
慕桂英0504842
2020-06-30 17:44:01
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function address() {
/*请在此补充代码*/
var a = document.getElementById("a");
var b = document.getElementById("b");
var aArr = ["北京市", "天津市", "河北市", "河南市"];
var bArr = ["朝陽區", "西城區", "石家庄", "邯鄲市", "西青區", "武清區", "鄭州市", "開封市"];
selectAdd(a, aArr, aArr.length);
selectAdd(b, bArr, bArr.length);
a.selectedIndex = 0;
linkage();
}
function selectAdd(obj, name, value) {
/*请在此补充代码*/
for (var i = 0; i < value; i++) {
obj.options.add(new Option(name[i], i));
}
}
function linkage() {
/*请在此补充代码*/
var a = document.getElementById("a");
var b = document.getElementById("b");
var arr;
var aVal = parseInt(a.value);
if (aVal === 0) {
arr = ["朝陽區", "西城區"];
} else if (aVal == 1) {
arr = ["石家庄", "邯鄲市"];
} else if (aVal == 2) {
arr = ["西青區", "武清區"];
} else if (aVal == 3) {
arr = ["鄭州市", "開封市"];
}
b.options.length = 0;
selectAdd(b, arr, arr.length);
}
</script>
</head>
<body onload="address()">
<form>
省份:
<!-- 请在此补充代码 -->
<select id="a" onchange="linkage()"></select>
市/区:
<!-- 请在此补充代码 -->
<select id="b"></select>
</form>
</body>
</html>已修正過代碼, 這樣寫是否就能符合第一次onload也能連動的效果呢
java工程师2020版
- 参与学习 人
- 提交作业 9410 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星