jquery实现的省市区三级联动

 更新时间:2015年04月02日 09:07:35   投稿:hebedich  
在做项目的时候,我们经常需要用到地址之类的省市区三级联动的,今天就给大家分享一个非常简洁的省市区三级联动的代码,基于jQuery,附上GIT地址,有需要的小伙伴可以直接拿走

省市级联动,附使用示例和数据表数据

有部分数据精确到乡镇一级!!!

Git 地址:http://git.oschina.net/upliu/province-city-district

演示代码:

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>省市区三级联动</title>
</head>
<body>
<form method="post" action="post.php">
  <div id="area"></div>
  <input type="submit" style="margin-top: 10px;">
</form>
<script src="jquery-2.1.3.min.js"></script>
<script src="area.js"></script>
<script>
  $(function(){
 
    add_select(0);
 
    $('body').on('change', '#area select', function() {
      var $me = $(this);
      var $next = $me.next();
      /**
       * 如果下一级已经是当前所选地区的子地区,则不进行处理
       */
      if ($me.val() == $next.data('pid')) {
        return;
      }
      $me.nextAll().remove();
      add_select($me.val());
    });
 
    function add_select(pid) {
      var area_names = area['name'+pid];
      if (!area_names) {
        return false;
      }
      var area_codes = area['code'+pid];
      var $select = $('<select>');
      $select.attr('name', 'area[]');
      $select.data('pid', pid);
      if (area_codes[0] != -1) {
        area_names.unshift('请选择');
        area_codes.unshift(-1);
      }
      for (var idx in area_codes) {
        var $option = $('<option>');
        $option.attr('value', area_codes[idx]);
        $option.text(area_names[idx]);
        $select.append($option);
      }
      $('#area').append($select);
    };
  });
</script>
</body>
</html>

以上所述就是本文给大家分享的全部内容了,希望大家能够喜欢。

相关文章

  • jQuery插件StickUp实现网页导航置顶

    jQuery插件StickUp实现网页导航置顶

    本文给大家介绍的是一款jQuery插件--StickUp,他的主要用途是实现网页元素固定,如导航固定让其总是保持在视图中可见,效果非常不错,这里推荐给小伙伴们。
    2015-04-04
  • ajax异步请求详解

    ajax异步请求详解

    做前端开发的朋友对于ajax异步更新一定印象深刻,本文主要介绍了关于ajax异步请求的那点事,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • jQuery实现的手风琴侧边菜单效果

    jQuery实现的手风琴侧边菜单效果

    这篇文章主要介绍了jQuery实现的手风琴侧边菜单效果,涉及jQuery事件响应及元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2017-03-03
  • StringTemplate遇见jQuery冲突的解决方法

    StringTemplate遇见jQuery冲突的解决方法

    最近在做一个流程引擎,现着手于自定义模板的处理。设计在模板中所有的数据都将与字段对应,采用xml结构序列化作为流程持久化机制。
    2011-09-09
  • jquery.form.js异步提交表单详解

    jquery.form.js异步提交表单详解

    这篇文章主要为大家详细介绍了jquery.form.js异步提交表单的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • jQuery按需加载轮播图(web前端性能优化)

    jQuery按需加载轮播图(web前端性能优化)

    这篇文章主要介绍了jQuery按需加载轮播图(web前端性能优化)知识,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • jQuery解决浏览器兼容性问题案例分析

    jQuery解决浏览器兼容性问题案例分析

    这篇文章主要介绍了jQuery解决浏览器兼容性问题的方法,结合实例形式分析了针对不同浏览器的click事件响应兼容性问题,需要的朋友可以参考下
    2016-04-04
  • jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)

    jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)

    Selectator是一款实现多选和搜索过滤功能的jQuery下拉列表框插件。下文给大家介绍jQuery使用Selectator插件实现多选下拉列表过滤框,需要的朋友一起学习吧
    2016-04-04
  • 用jQuery的AJax实现异步访问、异步加载

    用jQuery的AJax实现异步访问、异步加载

    这篇文章主要介绍了用jQuery的AJax实现异步访问、异步加载,jQuery的ajax异步实现数据交互的相关技巧,并提供了完整示例demo供读者参考,需要的朋友可以参考下
    2016-11-11
  • JQuery和html+css实现带小圆点和左右按钮的轮播图实例

    JQuery和html+css实现带小圆点和左右按钮的轮播图实例

    下面小编就为大家带来一篇JQuery和html+css实现带小圆点和左右按钮的轮播图实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07

最新评论