省市二级联动

来源:互联网 发布:vb6.0 数据库编程实例 编辑:程序博客网 时间:2024/06/02 04:02

      程序分析:在不用JQuery的情况下需要用到二维数组在第一位度储存省份,二维数组里存市级地名,比如:cityList['北京市'] = ['朝阳区','东城区','西城区', '海淀区','宣武区','丰台区','怀柔','延庆','房山'];. 然后在HTML上创建两个<select>下拉列表用<script>关联起来,首先把省份加载进入第一级下拉列表,这里需要用到两个小方法 var x = new option(); option.add(内容,value); 还需要在第一级下拉列表上设置一个onChange()文本改变事件;在第一级改变时就把他对应角标对应的第二维数组加入到第二级下拉列表,

     全部代码如下:

    <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body onload="load()">
<select name="" id="province" onchange="change()">
<option value="">请选择省份</option>
</select>

<select name="" id="city">
<option value="">请选择市区</option>
</select>

<!--
1. var x = new Option("><",value);
2. add(x)将option元素添加到下拉列表select元素中 动态添加
-->
<script type="text/javascript">
var cityList = new Array(); 
     cityList['北京市'] = ['朝阳区','东城区','西城区', '海淀区','宣武区','丰台区','怀柔','延庆','房山'];
cityList['上海市'] = ['宝山区','长宁区','丰贤区', '虹口区','黄浦区','青浦区','南汇区','徐汇区','卢湾区'];
cityList['广州省'] = ['广州市','惠州市','汕头市','珠海市','佛山市','中山市','东莞市'];
     cityList['深圳市'] = ['福田区', '罗湖区', '盐田区', '宝安区', '龙岗区', '南山区', '深圳周边'];
cityList['重庆市'] = ['俞中区', '南岸区', '江北区', '沙坪坝区', '九龙坡区', '渝北区', '大渡口区', '北碚区'];
     cityList['天津市'] = ['和平区', '河西区', '南开区', '河北区', '河东区', '红桥区', '塘古区', '开发区'];
cityList['江苏省'] = ['南京市','苏州市','无锡市'];
cityList['浙江省'] = ['杭州市','宁波市','温州市'];
cityList['四川省'] = ['四川省','成都市'];
cityList['海南省'] = ['海口市'];
cityList['福建省'] = ['福州市','厦门市','泉州市','漳州市'];
cityList['山东省'] = ['济南市','青岛市','烟台市'];
cityList['江西省'] = ['江西省','南昌市'];
cityList['广西省'] = ['柳州市','南宁市'];
cityList['安徽省'] = ['安徽省','合肥市'];
cityList['河北省'] = ['邯郸市','石家庄市'];
cityList['河南省'] = ['郑州市','洛阳市'];
cityList['湖北省'] = ['武汉市','宜昌市'];
cityList['湖南省'] = ['湖南省','长沙市'];
cityList['陕西省'] = ['陕西省','西安市'];
cityList['山西省'] = ['山西省','太原市'];
cityList['黑龙江省'] = ['黑龙江省','哈尔滨市'];
function load(){
//获取一个select对象
var province = document.getElementById("province");
for(var pro in cityList){
//将角标加入到option下拉列表中
var opt = new Option(pro,pro);
//将option加入到select对象中
province.add(opt);
}
}
function change(){
//获取select对象
var city = document.getElementById("city");
//获取已经选择的省份
var pro = document.getElementById("province").value;
//清空下拉列表
city.options.length = 0;
for(var c in cityList[pro]){//根据已经获取的省份获得市级城市
var ci = new Option(cityList[pro][c],cityList[pro][c]);
//加入进select对象中
city.add(ci);
}
}
</script>
</body>
</html>

原创粉丝点击