帮我检查一下有错误吗
来源:7-8 编程练习
慕先生8145006
2019-09-01 16:53:19
var arrayShengfen = new Array("北京市","天津市","河北省","河南省");
var arrayShiqu = new Array("朝阳区","西城区","西青区","武清区","石家庄","邯郸市","郑州市","开封市");
function address(){
/*请在此补充代码*/
var shengfen = document.getElementById("shengfen");
var shiqu = document.getElementById("shiqu");
var n = arrayShiqu.length;
for(var i = 0;i <= arrayShengfen.length;i++){
selectAdd(shengfen,arrayShengfen[i],arrayShengfen[i]);
}
for(var j = 0;j <= 1;j++){
selectAdd(shiqu,arrayShiqu[j],arrayShiqu[j]);
}
}
function selectAdd(obj,name,value){
/*请在此补充代码*/
obj.options.add(new Option(name,value));
}
function linkage(){
/*请在此补充代码*/
var shengfen = document.getElementById("shengfen");
var shiqu = document.getElementById("shiqu");
//获取选中的省份
var shengfenvalue = document.getElementById("shengfen").value;
var sq;
shiqu.options.length = 0;
if(shengfenvalue == "北京市"){
sq = arrayShiqu[0];
sq = arrayShiqu[1];
}else if(shengfenvalue == "天津市"){
sq = arrayShiqu[2];
sq = arrayShiqu[3];
}else if(shengfenvalue == "河北省"){
sq = arrayShiqu[4];
sq = arrayShiqu[5];
}else{
sq = arrayShiqu[6];
sq = arrayShiqu[7];
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="ppp.js"></script>
</head>
<body onload="address()">
<form>
省份:
<!-- 请在此补充代码 -->
<select name="shengfen" id="shengfen" onchange="linkage()"></select>
市/区:
<!-- 请在此补充代码 -->
<select name="shiqu" id="shiqu"></select>
</form>
</body>
</html>
1回答
同学你好。下面这一部分,同学并没有按照老师给的来修改呢。同学的代码只是将sq反复赋值,但sq只是linkage这个function的局部变量,并没有对下拉列表的option进行改变
需要借用selectAdd方法改变对应下拉列表的option:
//6、获取选中的省份 var shengfenvalue=document.getElementById("shengfen").value; shiqu.options.length = 0; if(shengfenvalue == "北京市"){ selectAdd(shiqu,arrayShiqu[0],arrayShiqu[0]); selectAdd(shiqu,arrayShiqu[1],arrayShiqu[1]); }else if(shengfenvalue == "天津市"){ selectAdd(shiqu,arrayShiqu[2],arrayShiqu[2]); selectAdd(shiqu,arrayShiqu[3],arrayShiqu[3]); }else if(shengfenvalue == "河北省"){ selectAdd(shiqu,arrayShiqu[4],arrayShiqu[4]); selectAdd(shiqu,arrayShiqu[5],arrayShiqu[5]); }else{ selectAdd(shiqu,arrayShiqu[6],arrayShiqu[6]); selectAdd(shiqu,arrayShiqu[7],arrayShiqu[7]); }
还是上个问答中回复的代码中的片段哦,如果不清楚可以看上个问答 https://class.imooc.com/course/qadetail/149995
如果解答了同学的疑问,请采纳一下~
祝学习愉快~
相似问题
回答 1
回答 1
回答 1
回答 2
回答 1