简单实用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 相关文章推荐
JS类定义原型方法的两种实现的区别评论很多
Sep 12 Javascript
Javascript中自动切换焦点实现代码
Dec 15 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
Nov 17 Javascript
jQuery的css() 方法使用指南
May 03 Javascript
JavaScript中string对象
Jun 12 Javascript
jQuery新窗口打开外链接
Jul 21 Javascript
Javascript 6里的4个新语法
Aug 25 Javascript
angularJs的ng-class切换class
Jun 23 Javascript
JS实现颜色的10进制转化成rgba格式的方法
Sep 04 Javascript
two.js之实现动画效果示例
Nov 06 Javascript
基于vue 动态加载图片src的解决方法
Feb 05 Javascript
JQuery省市联动效果实现过程详解
May 08 jQuery
原生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实现的简单日志写入函数
2015/03/31 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
input框中的name和id的区别
2016/11/16 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
Python匹配中文的正则表达式
2016/05/11 Python
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2018/02/26 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
Python常见数字运算操作实例小结
2019/03/22 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
python 实现二维列表转置
2019/12/02 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
2020/07/01 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
大专生简历的自我评价
2013/11/26 职场文书
简历的个人自我评价范文
2014/01/03 职场文书
应聘面试自我评价
2014/01/24 职场文书
酒店秘书求职信范文
2014/02/17 职场文书
高中生职业生涯规划书
2014/02/24 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
领导干部群众路线教育实践活动剖析材料
2014/10/10 职场文书
看雷锋电影观后感
2015/06/10 职场文书
庆祝教师节新闻稿
2015/07/17 职场文书
初中政治教学工作总结
2015/08/13 职场文书
微信小程序调用python模型
2022/04/21 Python
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers