基于jquery实现省市区三级联动效果


Posted in Javascript onDecember 25, 2015

本文实现更新了项目的省市区三级联动数据,更新后最新的海南三沙都有,分享给所有需要的小伙伴们。
JQUERY + JSON,无数据库,纯JS代码,无加密,无压缩,可直接使用在任何项目中。

说明:数据来源于国家统计局官网。

先上图:

基于jquery实现省市区三级联动效果

绑定省市区

基于jquery实现省市区三级联动效果

使用方法:

1. 引用JQUERY   

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>

2. 引用省市区数据

<script type="text/javascript" src="pdata.js"></script>

3. HTML代码:

<div class="row">
 <div class="col-sm-12">
  <div class="form-group">
   <label class="control-label col-sm-2">所在区域</label>
   <div class="col-sm-3">
    <select name="input_province" id="input_province" class="form-control">
    </select>
   </div>
   <div class="col-sm-3">
    <select name="input_city" id="input_city" class="form-control">
    </select>
   </div>
   <div class="col-sm-3">
    <select name="input_area" id="input_area" class="form-control">
    </select>
   </div>
  </div>
 </div>
</div>

4. JS代码:

$(function () {
  var html = "<option value=''>== 请选择 ==</option>"; $("#input_city").append(html); $("#input_area").append(html);
  $.each(pdata,function(idx,item){
   if (parseInt(item.level) == 0) {
     html += "<option value='" + item.names + "' exid='" + item.code + "'>" + item.names + "</option>";
    }
  });
  $("#input_province").append(html);

  $("#input_province").change(function(){
   if ($(this).val() == "") return;
   $("#input_city option").remove(); $("#input_area option").remove();
   var code = $(this).find("option:selected").attr("exid"); code = code.substring(0,2);
   var html = "<option value=''>== 请选择 ==</option>"; $("#input_area").append(html);
   $.each(pdata,function(idx,item){
    if (parseInt(item.level) == 1 && code == item.code.substring(0,2)) {
      html += "<option value='" + item.names + "' exid='" + item.code + "'>" + item.names + "</option>";
     }
   });
   $("#input_city").append(html);  
  });

  $("#input_city").change(function(){
   if ($(this).val() == "") return;
   $("#input_area option").remove();
   var code = $(this).find("option:selected").attr("exid"); code = code.substring(0,4);
   var html = "<option value=''>== 请选择 ==</option>";
   $.each(pdata,function(idx,item){
    if (parseInt(item.level) == 2 && code == item.code.substring(0,4)) {
      html += "<option value='" + item.names + "' exid='" + item.code + "'>" + item.names + "</option>";
     }
   });
   $("#input_area").append(html);  
  });
  //绑定
  $("#input_province").val("广东省");$("#input_province").change();
  $("#input_city").val("深圳市");$("#input_city").change();
  $("#input_area").val("罗湖区");

 });

源码下载: 《基于jquery实现省市区三级联动效果》

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JSON 学习之完全手册 图文
May 29 Javascript
JavaScript Event学习补遗 addEventSimple
Feb 11 Javascript
浅谈javascript中的闭包
May 13 Javascript
JavaScript实现广告的关闭与显示效果实例
Jul 02 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 jQuery
利用百度地图API获取当前位置信息的实例
Nov 06 Javascript
在vue中通过axios异步使用echarts的方法
Jan 13 Javascript
解决layer.msg 不居中 ifram中的问题
Sep 05 Javascript
js实现上下左右键盘控制div移动
Jan 16 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
Feb 16 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
Sep 22 Javascript
Ant Design moment对象和字符串之间的相互转化教程
Oct 27 Javascript
js实现文本框输入文字个数限制代码
Dec 25 #Javascript
js实现简单的验证码
Dec 25 #Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
Dec 24 #Javascript
javascript与jquery中的this关键字用法实例分析
Dec 24 #Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 #Javascript
jQuery中hover与mouseover和mouseout的区别分析
Dec 24 #Javascript
基于JS2Image实现圣诞树代码
Dec 24 #Javascript
You might like
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
JavaScript设计模式之适配器模式介绍
2014/12/28 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
JavaScript获取select中text值的方法
2017/02/13 Javascript
详解vue组件通信的三种方式
2017/06/30 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
JS实现小球的弹性碰撞效果
2017/11/11 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
2019/08/07 Python
python支持多线程的爬虫实例
2019/12/21 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
档案接收函
2014/01/13 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
一岗双责责任书
2014/04/15 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
活动总结范文
2014/08/30 职场文书
维稳工作承诺书
2015/01/20 职场文书
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫