简单实用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 相关文章推荐
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
Dec 12 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
Dec 21 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
Aug 21 Javascript
javascript实现日期格式转换
Dec 16 Javascript
javascript实现简单的html5视频播放器
May 06 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
Jan 24 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
May 10 Javascript
vue页面跳转后返回原页面初始位置方法
Feb 11 Javascript
vue-prop父组件向子组件进行传值的方法
Mar 01 Javascript
js实现小星星游戏
Mar 23 Javascript
Vue文本模糊匹配功能如何实现
Jul 30 Javascript
微信小程序向Java后台传输参数的方法实现
Dec 10 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
菜鸟修复电子管记
2021/03/02 无线电
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
JavaScript类和继承 this属性使用说明
2010/09/03 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
2011/06/28 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
python爬取网站数据保存使用的方法
2013/11/20 Python
python中dir函数用法分析
2015/04/17 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
python format 格式化输出方法
2018/07/16 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
python之列表推导式的用法
2019/11/29 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
Python-jenkins模块之folder相关操作介绍
2020/05/12 Python
IE矩阵Matrix滤镜旋转与缩放及如何结合transform
2012/11/29 HTML / CSS
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
介绍一下Make? 为什么使用make
2016/07/31 面试题
小学生红领巾广播稿
2014/01/21 职场文书
建筑工地门卫岗位职责
2014/04/30 职场文书
机电一体化专业毕业生自荐信
2014/06/19 职场文书
个人总结怎么写
2015/02/26 职场文书
经营目标责任书
2015/05/08 职场文书
水知道答案观后感
2015/06/08 职场文书
新闻报道稿范文
2015/07/23 职场文书
改造DE1103三步曲
2022/04/07 无线电
Python OpenCV实现图形检测示例详解
2022/04/08 Python