为啥不成功呢,老师帮忙看看
来源:7-6 编程练习
加1s的阿呱
2020-06-16 21:30:11
<html> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="index.js"></script> </head> <body onload="address()"> <form> 省份: <!-- 请在此补充代码 --> <select id="ss" name="dd"> </select> 市/区: <select id="qq" name="ww"> </select> <!-- 请在此补充代码 --> </form> </body> </html>
function address(){ /*请在此补充代码*/ var ss1=["北京市","天津市","河北省","河南省"]; var qq1=["朝阳区","西城区","石家庄","邯郸市","西青区","武清区","郑州市","开封市"]; var ss=document.getElementById("ss"); var ssLength=ss1.length; selectAdd(ss,ssLength,ss1); var qq=document.getElementById("qq"); var qqLength=qq1.length; selectAdd(qq,qqLength,qq1); } function selectAdd(obj,name,value){ /*请在此补充代码*/ for(var i=0;i<=name.length;i++){ obj.options.add(new Option(value[i],value[i])); } }
1回答
function selectAdd(obj,name,value){ /*请在此补充代码*/ for(var i=0;i<=name.length;i++){ obj.options.add(new Option(value[i],value[i])); } }
你传入的name已经是长度了,那name.length是什么?改成:
function selectAdd(obj,name,value){ /*请在此补充代码*/ for(var i=0;i<=name;i++){ obj.options.add(new Option(value[i],value[i])); } }
而且你循环次数有问题,应该是i<name,不是i<=name。
相似问题