layui三级联动地址(省市区)下拉框实现代码

基于layui封装了一个地址选择器,地址数据采用weui的city-picker。因为项目很多都封装在common里面,
所以该common只抽出showCity和getCity方法。

一、用法

1. html写法

name和lay-filter必须保持统一,data-area是地址默认值

<select name="province" data-area="广东省" lay-filter="province"><option value="">选择省</option></select>
  <select name="city" data-area="广州市" lay-filter="city"><option value="">选择市</option></select>
  <select name="district" data-area="天河区" lay-filter="district"><option value="">选择区</option></select> 

<h3>2. 需引入city-picker.js地址数据文件</h3>
<script type="text/javascript" src="js/city-picker.js"></script>


如果未引入,则会提示未引用地址数据

 

3. layui引入common模块

//config的设置是全局的

layui.config({
  base: 'js/' //假设这是你存放拓展模块的根目录
}).extend({ //设定模块别名
  common: 'common' //如果 common.js 是在根目录,也可以不用设定别名
});

4. 使用模块

layui.use(['form', 'common'], function(){
  var common = layui.common,
    form = layui.form;

    //三级地址联动
    common.showCity('province', 'city', 'district');

    //监听提交
    form.on('submit(formDemo)', function(data){
      var resData = data.field,
        province = resData.province,
        city = resData.city,
        district = resData.district;

      console.log(province, city, district) // 440000 440100 440106

      // 通过地址code码获取地址名称
      var address = common.getCity({
        province,
        city,
        district
      });

      console.log(address); // {provinceName: "广东省", cityName: "广州市", districtName: "天河区"}
      return false;
    });
});

 

二、相关API

common有两个方法, showCity用来加载地址选择器, getCity用来由地址code码获取地址名称。

方法名说明type
showCity[param1]省 [param2]市 [param3]县string
getCity[option]{param1 code param2 code param3 code}object

 

三、演示

layui三级联动地址(省市区)下拉框实现演示:https://www.zhe94.com/code/layui-select-address-master/

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值