老师帮我看看,为什么市区一开始是空白的
来源:7-8 编程练习
慕用0154158
2019-09-24 15:17:36
<!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="shen" id="shen" onchange="linkage()"></select> 市/区: <!-- 请在此补充代码 --> <select name="shi" id="shi"></select> </form> </body> </html>
function address(){
/*请在此补充代码*/
var shen =document.getElementById("shen");
var str=["北京市","天津市","河北省","河南省"];
for(var index in str){
selectAdd(shen,str[index],index);
}
}
function selectAdd(obj,name,value){
/*请在此补充代码*/
obj.add(new Option(name,value));
}
function linkage(){
/*请在此补充代码*/
// var shen =document.getElementById("shen");
var shi=document.getElementById("shi");
var index=shen.value;
var str;
if (index==0) {
str=["朝阳区","西城区"];
}else if (index==1) {
str=["西青区","武清区"];
}else if (index==2) {
str=["石家庄","邯郸市"];
}else if (index==3) {
str=["郑州市","开封市"];
}
shi.options.length=0;
for(var index_ in str){
selectAdd(shi,str[index_],index_);
}
}1回答
同学你好,1、onload 事件会在页面或图像加载完成后立即发生。也就是在加载页面的完成后,会执行这个address方法,加载所有的省份,但是市区的加载是在onchange事件下的linkage方法,也就是说linkage方法会在省份内容改变时发生,才会执行,所以加载完页面时,市区内容是空的。
2、如果同学想在页面加载完成后,在市区中添加市区内容,可以在address方法中添加第一个省份中的市区呐,例如:

运行效果:

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题