老师帮忙看下有没有更好的建议

来源:7-8 编程练习

Wuq1an

2020-02-20 19:45:31

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

js部分:

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

写回答

2回答

guly

2020-02-21

你好,再添加元素时应该清空之前的值,

function selectAdd(obj,address){
  
    for(var i =0;i<address.length;i++){
        obj.options.add(new Option(address[i],address[i]));
    }
}

应该改为:

function selectAdd(obj,address){
    for(i=obj.length;i>=0;i--){
        obj.options.remove(0);
    }
    for(var i =0;i<address.length;i++){
        obj.options.add(new Option(address[i],address[i]));
    }
}

如果解决您的问题请采纳,祝学习愉快!

0

guly

2020-02-21

你好,为了快速准确解决您的问题,建议贴出源码,不要贴图,祝学习愉快!

0
huq1an
h function address(){ var sfarr=["北京市","天津市","河北省","河南省"]; var sf=document.getElementById("sf"); //取出id为sf并赋值给sf selectAdd(sf,sfarr); } function selectAdd(obj,address){ for(var i =0;i<address.length;i++){ obj.options.add(new Option(address[i],address[i])); } } function linkage(){ var sf=document.getElementById("sf"); //取出id为sf并赋值给sf var sq=document.getElementById("sq"); var f=sf.value; // sq.options.length=0; if(f == "北京市"){ var sqarr=["朝阳区","西城区"]; selectAdd(sq,sqarr); }else if(f=="河北省"){ var sqarr=["石家庄","邯郸市"] selectAdd(sq,sqarr); }else if(f=="天津市"){ var sqarr=["西青区","武清区"] selectAdd(sq,sqarr); }else{ var sqarr=["郑州市","开封市"] selectAdd(sq,sqarr); } } <!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript" src="sf.js"></script> </head> <body onload="address(),linkage()"> <form> 省份: <select name="sf" id="sf" onchange="linkage()"></select> 市/区: <select name="sq" id="sq"></select> </form> </body> </html>
h020-02-21
共1条回复

0 学习 · 9666 问题

查看课程