简单实用jquery版三级联动select示例


Posted in Javascript onJuly 04, 2013

html和js部分

<!DOCTYPE html> 
<html> 
<head> 
<meta charset=gbk /> 
<title>selectList</title> 
<style type="text/css"> 
*{margin:0;padding:0;} 
.selectList{width:200px;margin:50px auto;} 
</style> 
<script type="text/javascript" src="jquery1.7.1.js"></script> 
</head> 
<body> 
<div class="selectList"> 
<select class="province"> 
<option>请选择</option> 
</select> 
<select class="city"> 
<option>请选择</option> 
</select> 
<select class="district"> 
<option>请选择</option> 
</select> 
</div> 
<div class="selectList"> 
<select class="province"> 
<option>请选择</option> 
</select> 
<select class="city"> 
<option>请选择</option> 
</select> 
<select class="district"> 
<option>请选择</option> 
</select> 
</div> 
<script type="text/javascript"> 
$(function(){ 
$(".selectList").each(function(){ 
var url = "area.json"; 
var areaJson; 
var temp_html; 
var oProvince = $(this).find(".province"); 
var oCity = $(this).find(".city"); 
var oDistrict = $(this).find(".district"); 
//初始化省 
var province = function(){ 
$.each(areaJson,function(i,province){ 
temp_html+="<option value='"+province.p+"'>"+province.p+"</option>"; 
}); 
oProvince.html(temp_html); 
city(); 
}; 
//赋值市 
var city = function(){ 
temp_html = ""; 
var n = oProvince.get(0).selectedIndex; 
$.each(areaJson[n].c,function(i,city){ 
temp_html+="<option value='"+city.ct+"'>"+city.ct+"</option>"; 
}); 
oCity.html(temp_html); 
district(); 
}; 
//赋值县 
var district = function(){ 
temp_html = ""; 
var m = oProvince.get(0).selectedIndex; 
var n = oCity.get(0).selectedIndex; 
if(typeof(areaJson[m].c[n].d) == "undefined"){ 
oDistrict.css("display","none"); 
}else{ 
oDistrict.css("display","inline"); 
$.each(areaJson[m].c[n].d,function(i,district){ 
temp_html+="<option value='"+district.dt+"'>"+district.dt+"</option>"; 
}); 
oDistrict.html(temp_html); 
}; 
}; 
//选择省改变市 
oProvince.change(function(){ 
city(); 
}); 
//选择市改变县 
oCity.change(function(){ 
district(); 
}); 
//获取json数据 
$.getJSON(url,function(data){ 
areaJson = data; 
province(); 
}); 
}); 
}); 
</script> 
</body> 
</html>

json文件(area.json),这里只是事例,根据情况添加或编写
[ 
{"p":"江西省", 
"c":[ 
{"ct":"南昌市", 
"d":[ 
{"dt":"西湖区"}, 
{"dt":"东湖区"}, 
{"dt":"高新区"} 
]}, 
{"ct":"赣州市", 
"d":[ 
{"dt":"瑞金县"}, 
{"dt":"南丰县"}, 
{"dt":"全南县"} 
]} 
]}, 
{"p":"北京", 
"c":[ 
{"ct":"东城区"}, 
{"ct":"西城区"} 
]}, 
{"p":"河北省", 
"c":[ 
{"ct":"石家庄", 
"d":[ 
{"dt":"长安区"}, 
{"dt":"桥东区"}, 
{"dt":"桥西区"} 
]}, 
{"ct":"唐山市", 
"d":[ 
{"dt":"滦南县"}, 
{"dt":"乐亭县"}, 
{"dt":"迁西县"} 
]} 
]} 
]

各位最好自己封装成插件,方便调用
Javascript 相关文章推荐
JQuery 选择器、过滤器介绍
Feb 14 Javascript
jQuery新闻滚动插件 jquery.roller.js
Jun 27 Javascript
jquery创建一个ajax关键词数据搜索实现思路
Feb 26 Javascript
基于gulp合并压缩Seajs模块的方式说明
Jun 14 Javascript
用move.js库实现百叶窗特效
Feb 08 Javascript
AngularJS的$location使用方法详解
Oct 19 Javascript
通过js控制时间,一秒一秒自己动的实例
Oct 25 Javascript
详解JS模块导入导出
Dec 20 Javascript
Bootstrap实现的表格合并单元格示例
Feb 06 Javascript
element-ui如何防止重复提交的方法步骤
Dec 09 Javascript
js获取本日、本周、本月的时间代码
Feb 01 Javascript
uni-app使用countdown插件实现倒计时
Nov 01 Javascript
原生javascript和jquery判断浏览器版本等信息
Jul 04 #Javascript
js将控件隐藏的方法及display属性介绍
Jul 04 #Javascript
Jquery多选框互相内容交换的实例代码
Jul 04 #Javascript
js局部刷新页面时间具体实现
Jul 04 #Javascript
Jquery倒数计时按钮setTimeout的实例代码
Jul 04 #Javascript
javascript闭包的高级使用方法实例
Jul 04 #Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
Jul 04 #Javascript
You might like
PHP 采集程序原理分析篇
2010/03/05 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
javascript检测浏览器flash版本的实现代码
2011/12/06 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
jQuery特殊符号转义的实现
2016/11/30 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
python写的一个文本编辑器
2014/01/23 Python
Python实现的Kmeans++算法实例
2014/04/26 Python
Python简单定义与使用二叉树示例
2018/05/11 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
python实现mean-shift聚类算法
2020/06/10 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
英国受欢迎的运动鞋和街头服装商店:Footasylum
2018/06/12 全球购物
软件工程师面试题
2012/06/25 面试题
秋季运动会通讯稿
2014/01/24 职场文书
汽车装潢店创业计划书范文
2014/02/05 职场文书
校庆团日活动总结
2014/08/28 职场文书
活动总结格式
2014/08/30 职场文书
医生见习报告范文
2014/11/03 职场文书
感谢信
2019/04/11 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书
在Python中如何使用yield
2021/06/07 Python