JavaScript实现三级联动
2011-09-14 11:06
423 查看
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>JS实现省市区三级联动</title> <script type="text/javascript"> //省份 var provinceArr = ['浙江','江苏', '江西', '内蒙古']; //市县,每个数组第一个元素为省份,其他的为这个省份下的市县 var cityArr = []; cityArr[0] = ['浙江', '宁波', '杭州', '龙游']; //要写数字索引 cityArr[1] = ['江苏', '南京','苏州','无锡']; cityArr[2] = ['江西', '南昌', '九江']; cityArr[3] = ['内蒙古', '乌兰浩特']; //区镇,数组类似市县 var districtArr = []; districtArr[0] = ['宁波', '江东', '北仑', '海曙']; districtArr[1] = ['南昌', '湾里', '昌北']; districtArr[2] = ['龙游', '塔石镇', '湖镇镇','溪口镇']; districtArr[3] = ['南京', '雨花台', '玄武区','栖霞区']; districtArr[4] = ['苏州', '苏州区1', '苏州区2','苏州区3']; window.onload=function (){ //向省份的select里增加省份名 setprovince(); } //向省份的select里增加省份名 function setprovince(){ //生成省份 for(var key in provinceArr) { var province = document.getElementById('province'); var city = document.getElementById('city'); var district = document.getElementById('district'); ////向省份的select里增加provinceArr<option>省份名</option> province.options.add(new Option(provinceArr[key],provinceArr[key])); } } //生成市县、区镇 //@current为当前选择的select节点,即父类节点 //@child为子类点 //@childArr为子节点数组 function showChild(current, child, childArr) { var province = document.getElementById('province'); var city = document.getElementById('city'); var district = document.getElementById('district'); var currentValue = current.value; var count = childArr.length; //每次切换时,把城市的子option长度设置为1,即清除城市的选择,DOM对象select元素是长度是子option的个数 child.length = 1; //切换省份时,把县区长度也设置为1 district.length = 1; for(var i = 0; i < count; i++) { //判断所选的值即父类,与当前节点第一个数组元素是否相等 if(currentValue == childArr[i][0]) { //不取第一个数组元素,因为第一个是父类,所以j从1开始,而不是0 for(var j = 1; j < childArr[i].length; j++) { child.options.add(new Option(childArr[i][j],childArr[i][j])); } } } } </script> </head> <body> <select name="province" onChange="showChild(province, city, cityArr);" id="province"> <option value="省份" selected="selected">省份</option> </select> <select name="city" onChange="showChild(city, district, districtArr);" id="city"> <option value="城市" selected="selected">城市</option> </select> <select name="district" id="district"> <option value="县区" selected="selected">县区</option> </select> </body> </html>
相关文章推荐
- Javascript语言用3个列表框(select)实现的年、月、日三级联动
- 使用javascript解析xml实现省市县三级联动
- php+json+javascript实现三级联动
- 原生JavaScript实现的简单省市县三级联动功能示例
- javascript实现全国省市县三级联动
- javascript三级联动效果实现
- javascript利用selected属性实现省市区三级联动
- php+javascript实现三级联动
- JavaScript 三级联动的实现
- javascript实现简单的省市区三级联动
- javascript三级联动效果实现2
- 原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
- JavaScript解析XML实现省市县三级联动
- asp.net实现DropDownList、ListBox无刷新三级联动(javascript)
- javascript解析xml实现省市县三级联动的方法
- php+javascript实现三级联动(二)
- 用javascript实现三级联动
- javascript实现省市区三级联动选择的代码(数据为模拟json数据)
- 原生javascript实现省市区三级联动
- 省市县三级联动(javascript 实现)