老师帮我看看,为什么市区一开始是空白的

来源: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回答

好帮手慕小班

2019-09-24

同学你好,1、onload 事件会在页面或图像加载完成后立即发生。也就是在加载页面的完成后,会执行这个address方法,加载所有的省份,但是市区的加载是在onchange事件下的linkage方法,也就是说linkage方法会在省份内容改变时发生,才会执行,所以加载完页面时,市区内容是空的。

    2、如果同学想在页面加载完成后,在市区中添加市区内容,可以在address方法中添加第一个省份中的市区呐,例如:

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

运行效果:

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

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

0

0 学习 · 9666 问题

查看课程