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

 更新时间:2013年07月04日 16:58:19   作者:  
本文主要为大家介绍下通过jquery实现三级联动select这里用到的json文件,只是事例,根据情况添加或编写,感兴趣的朋友可以参考下哈,希望对大家有所帮助

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":"迁西县"}
]}
]}
]

各位最好自己封装成插件,方便调用

相关文章

  • jQuery+CSS实现一个侧滑导航菜单代码

    jQuery+CSS实现一个侧滑导航菜单代码

    侧滑菜单在网站设计中应用比较广泛,在许多网站上都可以看到此种类型的菜单。本文给大家介绍jQuery+CSS实现一个侧滑导航菜单代码,需要的朋友参考下吧
    2016-05-05
  • 自动设置iframe大小的jQuery代码

    自动设置iframe大小的jQuery代码

    自动设置iframe的宽度在应用中还是比较广泛的,本文使用jquery实现一下,感兴趣的朋友可以参考下
    2013-09-09
  • jQuery+css实现炫目的动态块漂移效果

    jQuery+css实现炫目的动态块漂移效果

    这篇文章主要介绍了jQuery+css实现的动态块漂移效果,涉及jQuery基于随机数与时间函数动态操作页面元素样式的相关技巧,需要的朋友可以参考下
    2016-01-01
  • js前台判断开始时间是否小于结束时间

    js前台判断开始时间是否小于结束时间

    js前台判断开始时间是否小于结束时间,结合了jquery需要的朋友可以参考下
    2012-02-02
  • 基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果

    基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果

    最近基于jQuery和Bootstrap框架实现了一个仿知乎动态列表的前端效果,基本实现了和知乎动态列表相同的效果,下面小编通过本文给大家分享实现思路及代码,对bootstrap 实现仿知乎前端动态列表效果感兴趣的朋友一起看看吧
    2016-11-11
  • jQuery 跨域访问问题解决方法

    jQuery 跨域访问问题解决方法

    浏览器端跨域访问一直是个问题, 多数研发人员对待js的态度都是好了伤疤忘了疼,所以病发的时候,时不时地都要疼上一疼.记得很久以前使用iframe 加script domain 声明,yahoo js util 的方式解决二级域名跨域访问的问题.
    2009-12-12
  • 运用jQuery写的验证表单(实例讲解)

    运用jQuery写的验证表单(实例讲解)

    下面小编就为大家带来一篇运用jQuery写的验证表单(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 实例代码详解jquery.slides.js

    实例代码详解jquery.slides.js

    slides是一款强大的,专业的幻灯片组件,能够全方位对幻灯片的速度控制,本文通过代码实例给大家讲解jquery.slides.js,感兴趣的朋友一起学习
    2015-11-11
  • 整理的40个有用的jQuery技术和教程

    整理的40个有用的jQuery技术和教程

    jQuery确实是一项伟大的技术,通过jQuery的插件,我们可以方便的创建具有更好用户界面的网站。在本文中,将和大家分享40个对你创建更好用户界面的jQuery技术和教程。
    2011-01-01
  • jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft

    jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHei

    jQuery的位置函数(offset(),innerWidth(),innerHeight(),outerWidth(),outerHeight(),scrollTop(),scrollLeft())小应用
    2010-03-03

最新评论