怎么默认选中省市时,市区也有对应的显示?
来源:7-8 编程练习
weixin_慕码人9127363
2020-11-11 18:39:08
# 具体遇到的问题
onchange只有改变选中条目时调用,如何在第一次加载时省市就显示对应的市区?
# 报错信息的截图
# 相关课程内容截图# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="index.js"></script>
</head>
<body onload="address()">
<form>
省份:
<select name="prov" id="prov" onchange="linkage()"></select>
市/区:
<select name="sec" id="sec"></select>
</form>
</body>
</html>
function address(){
/*请在此补充代码*/
var prov=document.getElementById("prov");
var sec=document.getElementById("sec");
var province=["北京市","天津市","河北省","河南省"];
selectAdd(prov,province,0,3);
}
function selectAdd(obj,arr,start,end){
/*请在此补充代码*/
for(var i=start;i<=end;i++){
obj.options.add(new Option(arr[i],arr[i]));
}
}
function linkage(){
/*请在此补充代码*/
var section=["朝阳区","西城区","西青区","武清区","石家庄","邯郸市","郑州市","开封市"];
var prov=document.getElementById("prov");
var sec=document.getElementById("sec");
var n=prov.value;
if(n=="北京市"){
sec.options.length=0;
selectAdd(sec,section,0,1);
}
else if(n=="天津市"){
sec.options.length=0;
selectAdd(sec,section,2,3);
}
else if(n=="河北省"){
sec.options.length=0;
selectAdd(sec,section,4,5);
}
else if(n=="河南省"){
sec.options.length=0;
selectAdd(sec,section,6,7);
}
}
1回答
同学你好,在一级菜单为北京市时,显示不出来内容,是因为省份下拉框在onchange事件选项改变时才会触发该事件调用linkage()方法。同学可以在address()方法最后调用linkage()方法,这样就可以显示北京下的区域了。
祝学习愉快
相似问题