城市选择下拉菜单三级联动
2016-06-14 17:44
267 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>城市三级联动</title> <link rel="stylesheet" type="text/css" href="city.css"> </head> <body> <form method="post" action=""> <select id="pro"> <option>--请选择省--</option> </select> <select id="city" disabled> <option>--请选择市--</option> </select> <select id="district" disabled> <option>--请选择区(县)--</option> </select> </form> </body> <script type="text/javascript" src="city.js"></script> </html>
JavaScript
var pro = document.getElementById("pro");var city = document.getElementById("city");var district = document.getElementById("district");function CityItem() {this.items = {};this.add = function(key, val) {this.items[key] = val;}}var cityItem = new CityItem();cityItem.add(0, ["湖北", "陕西", "贵州"]);cityItem.add(1, ["武汉", "襄阳", "宜昌"]);cityItem.add(2, ["西安", "咸阳", "榆林"]);cityItem.add(3, ["贵阳", "黔南", "黔东南"]);cityItem.add("1_1", ["江岸", "汉阳", "洪山"]);cityItem.add("1_2", ["襄城", "樊城", "枣阳"]);cityItem.add("1_3", ["夷陵", "西陵", "秭归"]);cityItem.add("2_1", ["碑林", "雁塔", "莲湖"]);cityItem.add("2_2", ["秦都", "兴平", "武功"]);cityItem.add("2_3", ["榆阳", "神木", "府谷"]);cityItem.add("3_1", ["云岩", "南明", "白云"]);cityItem.add("3_2", ["都匀", "平塘", "翁安"]);cityItem.add("3_3", ["凯里", "榕江", "三穗"]);for(var i in cityItem.items[0]) {var opt = document.createElement("option");opt.innerText = cityItem.items[0][i];pro.appendChild(opt);}pro.onchange = function() {//如果选择"--请选择省--" 选择市的下拉列表不能选择 否则可以选择city.disabled = (this.selectedIndex < 1);//选择区县的下拉列表不能选择district.disabled = true;//清空选择市和选择区县的下拉列表city.innerHTML = "<option>--请选择市--</option>";district.innerHTML = "<option>--请选择区(县)--</option>";var key = this.selectedIndex;for(var i in cityItem.items[key]) {var opt = document.createElement("option");opt.innerText = cityItem.items[key][i];city.appendChild(opt);}}city.onchange = function() {//如果选择"--请选择市--" 选择区县的下拉列表不能选择 否则可以选择district.disabled = (this.selectedIndex < 1);//清空选择区县的下拉列表district.innerHTML = "<option>--请选择区(县)--</option>";var key = pro.selectedIndex + "_" + this.selectedIndex;for(var i in cityItem.items[key]) {var opt = document.createElement("option");opt.innerText = cityItem.items[key][i];district.appendChild(opt);}}
CSS
select{outline: none;}
相关文章推荐
- python中的正则表达式
- C# 正则表达式
- 使用SeaJS实现模块化JavaScript开发
- AS中引入library 以及RxJava
- chaper3_exercise_Uva1585_score
- 用gcc进行程序的编译
- python一个简单的登录
- .Net Core(二) 下
- Android 照片选择器
- 【CodeForces】597A - Divisibility(容斥原理,数学)
- 第一节课作业150206309
- 连接池
- 欧几里得距离转换(EDT)算法
- 删除宽字符串
- ANDROID 混淆
- 监听EditText输入框 ,判断输入的密码是什么格式
- 原生js封装ajax 案例
- chaper3_exerise_Uva1568_Molar_Mass_分子量
- 梦断代码阅读笔记一
- 转:mysql中int、bigint、smallint 和 tinyint的区别与长度的含义