欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

jQuery中国省市区地址三级联动插件Distpicker 有大用

jQuery中国省市区地址三级联动插件Distpicker

所属分类:输入-选择框

  36582   138    查看评论 (43)
 
 
jQuery中国省市区地址三级联动插件Distpickerie兼容6
  查看演示    website    立即下载

简要教程

安装

可以通过npm或bower来安装该三级联动插件。

  • npm install distpicker

  • bower install distpicker                  

Installation

 

Include files:

<script src="/path/to/jquery.js"></script><!-- jQuery is required -->
<script src="/path/to/distpicker.js"></script>


使用方法

HTML结构

基本的HTML结构是使用一个<div>容器来包裹一组<select>元素。

1
2
3
4
5
<div><!-- container -->
  <select></select><!-- 省 -->
  <select></select><!-- 市 -->
  <select></select><!-- 区 -->
</div>

你可以直接通过data-toggle="distpicker"实现来进行初始化。

1
2
3
4
5
<div data-toggle="distpicker"><!-- container -->
  <select></select><!-- 省 -->
  <select></select><!-- 市 -->
  <select></select><!-- 区 -->
</div>

也可以显示占位文本。

1
2
3
4
5
<div data-toggle="distpicker">
  <select data-province="---- 选择省 ----"></select>
  <select data-city="---- 选择市 ----"></select>
  <select data-district="---- 选择区 ----"></select>
</div>

或者自定义省市区。

1
2
3
4
5
<div data-toggle="distpicker">
  <select data-province="浙江省"></select>
  <select data-city="杭州市"></select>
  <select data-district="西湖区"></select>
</div>

初始化插件

在页面DOM元素加载完毕之后,可以通过distpicker()方法来初始化该地址联动插件。

1
$('#target').distpicker();

自定义占位文本:

1
2
3
4
5
$('#target').distpicker({
  province: '---- 所在省 ----',
  city: '---- 所在市 ----',
  district: '---- 所在区 ----'
});

自定义省市区。

1
2
3
4
5
$('#target').distpicker({
  province: '浙江省',
  city: '杭州市',
  district: '西湖区'
});

配置参数

可以通过以下代码来修改默认的配置参数,

1
$().distpicker(options)

 

通过以下代码来修改全局默认参数。

1
$.fn.distpicker.setDefaults(options)
1
2
3
4
5
autoSelect:类型:Boolean,默认值:true。是否当省改变时自动选择市和区。
placeholder:类型:Boolean,默认值:true。是否显示占位文本。
province:类型:String,默认值:―― 省 ――。定义省份的初始值。如果在distpicker.data.js文件中存在该省份,将会被选择,否则显示占位文本。
city:类型:String,默认值:―― 市 ――。定义市的初始值。如果在distpicker.data.js文件中存在该市,将会被选择,否则显示占位文本。
district:类型:String,默认值:―― 区 ――。定义区的初始值。如果在distpicker.data.js文件中存在该区,将会被选择,否则显示占位文本。

方法

  • reset([deep]):重置select为初始状态。

  • deep (optional):类型:Boolean,默认值:false。重置select为初始状态。

例如:

1
2
3
$().distpicker('reset');
$().distpicker('reset'true);
destroy():销毁插件实例。

 

PREVIOUS:
NEXT:
响应式banner,带手指换的特效,自定义设置属性
jquery仿微信聊天对话窗口滚动样式
 
 

    相关插件-选择框

    LArea移动端城市选择控件

    纯原生js的移动端城市选择插件,不依赖任何库
       选择框
      24632   82
     

    Jquery实现角色左右选择特效

    简单的jquery实现左右角色的互选功能
       选择框
      8820   52
     

    jQuery自定义下拉框美化

    自定义下拉框美化(可以自定义样式)
       选择框
      5703   40
     

    radio checkbox

    利用css3技术,实现替代浏览器自带的radio checkbox功能。不用js技术,纯轻量级的。
       选择框
      6495   26
     
     

    讨论这个项目(43)回答他人问题或分享插件使用方法奖励jQ币

    是不三先生
    2017/4/1 16:31:25
     

      怎么赋值啊?

      回复
       
       
        番茄炒蛋不加蛋
        2017/3/11 13:19:24
         

          如何可以更改data-toggle=‘distpicker‘的识别值,我想把这个改成自己用的类型,但是这个最初的下拉框还是要用到

          回复
           
           
            CHAR
            2017/3/1 18:01:55
             

              在js文件中通过ajax获取地址,如何在前端 这个插件里显示获取的地址啊,希望尽早回复,急用,谢谢!

              回复
               
               
              • 一一封荷评论奖励 1 jQ币
                2017/3/7 17:05:09
                 

                  获取什么地址??

                  如果是选择的省市,给select添加一个id

                  1
                  2
                  3
                  4
                  5
                  6
                  7
                  <li data-toggle="distpicker">
                      <label>所在城市</label>
                      <select id="prov" class="prov"></select>
                      <select id="city" class="city"></select>
                  </li>
                  var prov= $('#prov').val(),
                  city = $('#city').val();
                      在我的怀里你不用害怕失眠
                      2017/3/7 18:23:50
                       
                        • 怎么给id="prov" 赋值啊    $('#prov').val("123");这样复制为什么是空
                          
                        2017/2/25 18:47:29
                         

                          怎么将值传给另一个页面?

                          回复
                           
                           
                          • 一一封荷评论奖励 1 jQ币
                            2017/3/7 16:45:28
                             

                              可以通过A页面ajax post传值给B页面,或者通过URL后面附带参数

                                何元祥 评论奖励 3 jQ币
                                2017/2/15 13:01:35
                                 
                                  1
                                  2
                                  3
                                  4
                                  5
                                  6
                                  7
                                  8
                                  9
                                  10
                                  11
                                  12
                                  13
                                  14
                                  15
                                  16
                                  17
                                  18
                                  19
                                  20
                                  21
                                  22
                                  23
                                  24
                                  25
                                  26
                                  27
                                  28
                                  29
                                  30
                                  31
                                  32
                                  33
                                  34
                                  35
                                  36
                                  37
                                  38
                                  39
                                  40
                                  41
                                  42
                                  43
                                  44
                                  45
                                  46
                                  47
                                  48
                                  49
                                  50
                                  51
                                  52
                                  53
                                  // 获取地区控件所有汉字
                                  $("#distpicker option:checked").text()
                                   
                                  // 重置地区控件到第一行(有占位符显示占位符)
                                  $("#distpicker").distpicker('reset'true);
                                   
                                  // 地区定位(地名)
                                  function distpickerPositionByAddress(province, city, district) {
                                      var $province = $("#province");
                                      var $city = $("#city");
                                      var $district = $("#district");
                                      $province.val(province);
                                      $province.trigger("change");
                                      $city.val(city);
                                      $city.trigger("change");
                                      $district.val(district);
                                      $district.trigger("change");
                                  }
                                   
                                  // 地区定位(编码)
                                  function distpickerPositionByCode(districtCode) {
                                      var provinceCode = parseInt(parseInt(districtCode) / 10000) * 10000;
                                      var cityCode = parseInt(parseInt(districtCode) / 100) * 100;
                                      var $province = $("#province");
                                      var $city = $("#city");
                                      var $district = $("#district");
                                      var province = ChineseDistricts[86][provinceCode];
                                      var city = ChineseDistricts[provinceCode][cityCode];
                                      var district = ChineseDistricts[cityCode][districtCode];
                                      $province.val(province);
                                      $province.trigger("change");
                                      $city.val(city);
                                      $city.trigger("change");
                                      $district.val(district);
                                      $district.trigger("change");
                                  }
                                   
                                  // 根据地区级别获取编码 1=省;2=市;3=区县
                                  function getDataCode(areaLv) {
                                      switch (areaLv) {
                                          case 1:
                                              return $('#province :selected').attr("data-code");
                                              break;
                                          case 2:
                                              return $('#city :selected').attr("data-code");
                                              break;
                                          case 3:
                                              return $('#district :selected').attr("data-code");
                                              break;
                                          default:
                                              return $('#district :selected').attr("data-code");
                                      }
                                  }

                                  觉得可以或者有问题请回复

                                  回复
                                   
                                   
                                    詹书斌
                                    2017/2/13 14:31:03
                                     

                                      怎么获取选择后的值呢?

                                      回复
                                       
                                       
                                      • '''
                                        2017/2/27 16:48:39
                                         

                                          会了么?

                                            嘴角淡然一笑、ㄋ枫
                                            2017/1/19 12:10:43
                                             

                                              找到数据源了 但是 我想用ajax替换成我的数据源 比如替换成食物类别-》食物 这样的 分类 该怎么去分配规则呢 原数据源的 数字代表什么呢 不用数字可以吗?可以替换吗?

                                              回复
                                               
                                               
                                              • 一一封荷评论奖励 1 jQ币
                                                2017/3/7 16:51:15
                                                 

                                                  数字只是key,不用管就好了,在.data.js里面直接把省、市这些值改成你想要的就好了

                                                    嘴角淡然一笑、ㄋ枫
                                                    2017/1/19 11:55:56
                                                     

                                                      特别像知道  我不想用他的哪个数据源 我像用我的数据源 该怎么放进去?

                                                      回复
                                                       
                                                       
                                                        呵呵
                                                        2017/1/13 10:01:10
                                                         

                                                           请问怎么改变数据源

                                                          回复
                                                           
                                                           
                                                            W.V
                                                            2016/12/23 16:12:45
                                                             

                                                              我想默认显示 这个  "---- 选择省 ----" 

                                                              初始化了  没用

                                                              1
                                                              2
                                                              3
                                                              4
                                                              5
                                                              6
                                                              7
                                                              8
                                                              $(".district").distpicker('destroy');
                                                              $(".district").distpicker({
                                                                  province: '---- 所在省 ----',
                                                                  city: '---- 所在市 ----',
                                                                  district: '---- 所在区 ----',
                                                                  autoSelect: true,
                                                                  placeholder: false
                                                              });
                                                              回复
                                                               
                                                               
                                                              • W.V
                                                                2016/12/23 16:12:52
                                                                 

                                                                   错了 是   placeholder: true

                                                                      W.V
                                                                      2016/12/23 16:12:32
                                                                       

                                                                        还是没用

                                                                            何元祥
                                                                            2017/2/14 17:03:39
                                                                             
                                                                              1
                                                                              $(".district").distpicker('reset'true);
                                                                                  一一封荷评论奖励 1 jQ币
                                                                                  2017/3/7 16:56:26
                                                                                   

                                                                                    在distpicker.js里面找到下面的内容,

                                                                                    1
                                                                                    2
                                                                                    3
                                                                                    4
                                                                                    5
                                                                                    6
                                                                                    7
                                                                                    e.DEFAULTS = {
                                                                                        autoSelect: !0,
                                                                                        placeholder: !0,
                                                                                        province: "省",
                                                                                        city: "市",
                                                                                        district: "区"
                                                                                    },

                                                                                    把autoSelect改成0(也就是false)

                                                                                       来自   http://www.jq22.com/jquery-info8054

                                                                                      / distpicker

                                                                                      A simple jQuery plugin for picking provinces, cities and districts of China. (中国 / 省市区 / 三级联动 / 地址选择器)
                                                                                      district picker china jquery-plugin
                                                                                      •  92 commits
                                                                                      •  branch
                                                                                      •  12 releases
                                                                                      •  contributors
                                                                                      •  MIT
                                                                                      1.  JavaScript 100.0%
                                                                                      JavaScript
                                                                                      Find file
                                                                                      Latest commit  97a8621 on 4 Mar@fengyuanchen  fengyuanchen  Release v2.0.0-rc
                                                                                      dist Release v2.0.0-rc2 months ago
                                                                                      docs Release v2.0.0-rc2 months ago
                                                                                      src Added missing comma2 months ago
                                                                                      .babelrc Added .babelrc file5 months ago
                                                                                      .editorconfig Added .editorconfig file9 months ago
                                                                                      .eslintrc Added .eslintrc file9 months ago
                                                                                      .gitattributes Updateda year ago
                                                                                      .gitignore Update9 months ago
                                                                                      .npmignore Build with Rollup5 months ago
                                                                                      CHANGELOG.md Release v2.0.0-rc2 months ago
                                                                                      LICENSE Happy New Year2 months ago
                                                                                      README.md Release v2.0.0-rc2 months ago
                                                                                      bower.json Build with Rollup5 months ago
                                                                                      package.json Release v2.0.0-rc2 months ago
                                                                                      rollup.config.js Build with Rollup5 months ago

                                                                                       README.md

                                                                                      代做工资流水公司泰安办工资流水账单天津签证银行流水福州开转账流水海口打企业流水打印柳州办理贷款流水芜湖制作签证工资流水绵阳代做自存银行流水长沙代开自存银行流水肇庆转账流水漳州车贷流水办理湘潭制作背调工资流水三亚房贷流水代开阜阳查询薪资流水单潮州银行流水办理北京办理签证银行流水咸阳离职证明报价江门查工资代付流水舟山签证工资流水代开淮安薪资银行流水开具海口签证工资流水代办郑州对公流水费用淄博代办工作收入证明赣州转账流水代做莆田房贷银行流水 查询咸阳查询转账流水宿迁代办车贷流水曲靖日常消费流水制作深圳房贷流水多少钱武汉流水开具郑州企业对私流水价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

                                                                                      代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化