请老师帮忙看一下哪里有问题,谢谢。。。。。
来源:7-8 编程练习
Joey_yxy
2020-06-21 18:02:34
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="ceshi_index.js"></script> </head> <body onload="address()"> <form> 省份: <!-- 请在此补充代码 --> <select id="province" name="province" onchange="linkage()"></select> 市/区: <!-- 请在此补充代码 --> <select id="city" name="city" ></select> </form> </body> </html>
function address(){
var provinceArr=["北京市","河北省","天津市","河南省"];
var provinceValue=[0,1,2,3];
var cityArr=["朝阳区","西城区","石家庄","邯郸市","西青区","武清区","郑州市","开封市"];
var cityValue=[1,2,3,4,5,6,7,8];
var province=document.getElementById("province");
var city=document.getElementById("city");
selectAdd(province,provinceArr,provinceValue);
selectAdd(city,cityArr,cityValue);
}
function selectAdd(obj,name,value){
/*请在此补充代码*/
for(var i=0;i<name.length;i++){
obj.options.add(new Option(name[i],value[i]));
}
}
function linkage(){
var provinceArr=["北京市","河北省","天津市","河南省"];
var provinceValue=[0,1,2,3];
var cityArr = ["朝阳区","西城区","石家庄市","邯郸市","武清区","河东区","郑州市","开封市"];
var cityValue=[1,2,3,4,5,6,7,8];
var province = document.getElementById("province");
var city = document.getElementById("city");
var pvalue=province.value();
var aCity,aCityValue;
aCity= getCity(pvalue,cityArr);
aCityValue=getCity(pvalue,cityValue);
city.options.length=0;
selectAdd(city,aCity,aCityValue);
}
function getCity(num,arr){
num=num*2;
var aCity= [arr[num],arr[num+1]];
return aCity;
}1回答
同学你好,var pvalue=province.value;多了个括号,导致获取不到省份,同学把括号去掉即可

建议同学在address()方中法调用linkage(),当加载页面完就加载address()和linkage()函数。保证页面加载完就可以获取到省份的值,来进行二级联动的判断。否则会出现一级菜单初始值为北京市,再点击北京市,内容没有发生改变,所以不会触发onchange事件,也就不会执行linkage()函数,第一次预览界面,北京市后面会出现所有的城市。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题