帮我检查一下有错误吗

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

芝芝兰兰

2019-09-01

同学你好。下面这一部分,同学并没有按照老师给的来修改呢。同学的代码只是将sq反复赋值,但sq只是linkage这个function的局部变量,并没有对下拉列表的option进行改变

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

需要借用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

如果解答了同学的疑问,请采纳一下~

祝学习愉快~

0

0 学习 · 9666 问题

查看课程