小程序省市区调用微信原生代码

微信小程序 调用原生微信api 实现省市区地址选择

// page/address/edit.js
Page({
  data:{},
  onLoad:function(options){
    // 页面初始化 options为页面跳转所带来的参数
  },
  bingAddressTap:function(){
    var that = this;
    wx.chooseLocation({
      success: function(res){
        var regex = /^(北京市|天津市|重庆市|上海市|香港特别行政区|澳门特别行政区)/;
        var REGION_PROVINCE=[];
        var addressBean = {
          REGION_PROVINCE:null,
          REGION_COUNTRY:null,
          REGION_CITY:null,
          ADDRESS:null};
        function regexAddressBean(address, addressBean){
            regex = /^(.*?[市州]|.*?地区|.*?特别行政区)(.*?[市区县])(.*?)$/g;
            var addxress = regex.exec(address);
            addressBean.REGION_CITY=addxress[1];
            addressBean.REGION_COUNTRY=addxress[2];
            addressBean.ADDRESS=addxress[3]+"("+res.name+")";
            console.log(addxress);
        }
        if(!(REGION_PROVINCE = regex.exec(res.address))){
          regex = /^(.*?(省|自治区))(.*?)$/;
          REGION_PROVINCE = regex.exec(res.address);
          addressBean.REGION_PROVINCE= REGION_PROVINCE[1];
          regexAddressBean(REGION_PROVINCE[3],addressBean);
        } else {
          addressBean.REGION_PROVINCE= REGION_PROVINCE[1];
          regexAddressBean(res.address, addressBean);
        }
        that.setData({ADDRESS_1_STR:
        addressBean.REGION_PROVINCE+" "
        +addressBean.REGION_CITY+""
        +addressBean.REGION_COUNTRY });
        that.setData(addressBean);
      }
    })
  },
  onReady:function(){
    // 页面渲染完成
  },
  onShow:function(){
    // 页面显示
  },
  onHide:function(){
    // 页面隐藏
  },
  onUnload:function(){
    // 页面关闭
  }
})

 以上是js 代码

 

网页部分(wxml)

<view class="info">
    <text>收货地址</text>
    <input bindfocus="bingAddressTap" value="{{REGION_PROVINCE}}{{REGION_CITY}}{{REGION_COUNTRY}}" placeholder="小区/大厦/学校"/>
</view>
<view class="info">
    <text>详细地址</text>
    <textarea auto-height="true" placeholder="详细地址(如门牌号等)" value="{{ADDRESS}}"/>
</view>

 

点击收货地址后面的文本框,就能选中了

 预览效果



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值