基于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 相关文章推荐
js 字符串操作函数
Jul 25 Javascript
javascript appendChild,innerHTML,join性能比较代码
Aug 29 Javascript
jMessageBox 基于jQuery的窗口插件
Dec 09 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
Dec 11 Javascript
JS判断文本框内容改变事件的简单实例
Mar 07 Javascript
javascript搜索框效果实现方法
May 14 Javascript
jquery显示loading图片直到网页加载完成的方法
Jun 25 Javascript
Node.js编写组件的三种实现方式
Feb 25 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
Nov 17 Javascript
详解在vue-cli项目中安装node-sass
Jun 21 Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 Javascript
JavaScript常用进制转换及位运算实例解析
Oct 14 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抓即时股票信息
2006/10/09 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
2015/02/07 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
php模拟实现斗地主发牌
2020/04/22 PHP
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
jQuery中closest和parents的区别分析
2015/05/07 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
2019/05/28 jQuery
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
Python实现将文本生成二维码的方法示例
2017/07/18 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
分析python请求数据
2018/08/19 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
在python shell中运行python文件的实现
2019/12/21 Python
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
如何利用find命令查找文件
2015/02/07 面试题
工程师求职简历的自我评价分享
2013/10/10 职场文书
光荣入党自我鉴定
2014/01/22 职场文书
运动会拉拉队口号
2014/06/09 职场文书
旷课检讨书范文
2015/01/27 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
详解NodeJS模块化
2021/06/15 NodeJs
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android