怎么默认选中省市时,市区也有对应的显示?

来源:7-8 编程练习

weixin_慕码人9127363

2020-11-11 18:39:08

# 具体遇到的问题
onchange只有改变选中条目时调用,如何在第一次加载时省市就显示对应的市区?
# 报错信息的截图

# 相关课程内容截图
http://img.mukewang.com/climg/5fabbf2809ce83d803440104.jpg# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

<!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回答

好帮手慕阿园

2020-11-11

​同学你好,在一级菜单为北京市时,显示不出来内容,是因为省份下拉框在onchange事件选项改变时才会触发该事件调用linkage()方法。同学可以在address()方法最后调用linkage()方法,这样就可以显示北京下的区域了。

http://img.mukewang.com/climg/5fabc21b09f48ce607490200.jpg

祝学习愉快

0

0 学习 · 16556 问题

查看课程