基于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 相关文章推荐
SyntaxHighlighter代码加色使用方法
Sep 07 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
Jan 08 Javascript
JS创建自定义表格具体实现
Feb 11 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
May 18 Javascript
AngularJs Dependency Injection(DI,依赖注入)
Sep 02 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
Dec 17 Javascript
vue使用axios跨域请求数据问题详解
Oct 18 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
Nov 24 Javascript
angularjs实现柱状图动态加载的示例
Dec 11 Javascript
vue组件jsx语法的具体使用
May 21 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
Aug 01 Javascript
js定义类的方法示例【ES5与ES6】
Jul 30 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中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
jQuery中toggleClass()方法用法实例
2015/01/05 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
[03:48]显微镜下的DOTA2第四期——TP动作
2014/06/20 DOTA
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python实现读取json文件到excel表
2017/11/18 Python
Python中的枚举类型示例介绍
2019/01/09 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
通过实例了解python__slots__使用方法
2020/09/14 Python
高考自主招生自荐信
2013/10/20 职场文书
高中军训广播稿
2014/01/14 职场文书
学生会招新策划书
2014/02/14 职场文书
平面设计专业大学生职业规划书
2014/03/12 职场文书
新学期标语
2014/06/30 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
2015夏季作息时间调整通知
2015/04/24 职场文书
儿子满月酒致辞
2015/07/29 职场文书
微软PC Health Check电脑健康状况检查应用下载(Win11配置检测工具)
2021/06/26 数码科技
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android