// 定义省市区,分别用一维二维三维数组实现,各级省份、城市、区域和value的值对应
var provinceArr = ['上海','江苏','河北'];
var cityArr = [
['上海市'],
['苏州市','南京市','扬州市'],
['石家庄','秦皇岛','张家口']
];
var countryArr = [
[
['黄浦区','静安区','长宁区','浦东区']
],
[
['虎丘区','吴中区','相城区','姑苏区','吴江区'],
['玄武区','秦淮区','建邺区','鼓楼区','浦口区'],
['邗江区','广陵区','江都区']
],
[
['长安区','桥西区','新华区','井陉矿区'],
['海港区','山海关区','北戴河区','抚宁区'],
['桥东区','桥西区','宜化区','下花园区']
]
];
// 定义省份的下拉菜单
function createOption(obj,data){
for (var i in data){
var op = new Option(data[i],i);
obj.options.add(op);
}
}
var province = document.getElementById('province');
createOption(province,provinceArr);
// 选择省份后,定义市级下拉菜单
// onchange 事件会在域的内容改变时发生。
var city = document.getElementById('city');
province.onchange = function(){
city.options.length = 0;
createOption(city,cityArr[province.value]);
// -----新增代码-----
if(province.value >=0){
city.onchange();
}else{
country.options.length = 0;
}
// -----------------
};
// 选择城市后,自动生成对应区域的下拉菜单
var country = document.getElementById('country');
city.onchange = function(){
country.options.length = 0;
createOption(country,countryArr[province.value][city.value]);
};
效果
但是怎么取到用户选择的值呢?这个更重要!











网友评论