微信小程序省市县三级联动选择的实现

微信小程序省市县三级联动选择的实现
wxml 代码

<view class="area_section">
        <view class="section__title">选择地址</view>
        <picker mode="region" bindchange="bindRegionChange" value="{{detailed}}" custom-item="{{customItem}}"
      name="detailed" class="picker_box" >
          <view class="picker {{clas}}" >{{detailed}} <image src="../../image/down.png" style="width:11.5pt;height:10pt;"></image></view>
        </picker>
      </view>

wxss代码

.area_section{
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  background:#fff;
  /* border-bottom:1px solid #D9D9D9; */
  font-size: 26rpx;
}
.section__title{
  flex: 1;
  font-size: 26rpx;
}
.picker_box{
  flex: 3;
  padding: 8px 0;
  border-bottom: 1px solid #f2f2f2;
  color:#7c7c7c;
  width:100%;
  letter-spacing:2rpx;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

js代码

var calls = require("../../utils/area.js")//引入省市县的js代码

 data: {

    customItem: [],
    detailed: '请选择',
  },

  onLoad: function (options) {
  },

  //省市联动
  bindRegionChange: function (e) {
    var that = this
    //为了让选择框有个默认值,    
    that.setData({
      clas: ''
    })   //下拉框所选择的值
    console.log('picker发送选择改变,携带值为', e.detail.value)

    this.setData({
      //拼的字符串传后台
      detailed: e.detail.value[0] + " " + e.detail.value[1] + " " + e.detail.value[2],
      //下拉框选中的值
      region: e.detail.value
    })

    this.setData({
      "AddSite.area": e.detail.value[0] + " " + e.detail.value[1] + " " + e.detail.value[2]
    })
    console.log(this.data.AddSite)
  },


**注释:**area.js的数据在百度上搜索全国省市县json数据,下载一个json数据的文件,下载成功后把文件复制粘贴到项目的utils文件夹下,并且把文件后缀名变为js。

最近的项目要用到全国省市数据,于是到网上找了一些。可是下载下来看一下,格式都不是我想要的。基本上都是分表的,分开保存,有的还有地表。而自己想要一个表的,或者是一个xml,或者是一个Json。 搜索过程中,找到了国家统计局的省市数据,看页面简单,正好最近在弄数据采集。以其下载别人的,还要扣金币、不如自己采集吧,一方面练习,另一方面也上传供下载,赚些金币,嘿嘿。 好了,牢骚说完了,说正事。 数据来源与国家统计局网站,网址是:http://www.stats.gov.cn/tjbz/xzqhdm/t20090626_402568086.htm (这些数据还包含了行政域代码,就是身份证号码前6位,可以用来查询身份证归属地^_^) 这个页面数据是有规律的,每个份包含在 标签内,而城和地则用分隔 我是的采集正则表达式是:(|)(\d{6})(\s*)([^<]*) 这里有几个地方需要注意,其实是他们发布数据时的一点点不规则的地方: 1.宁夏回族自治, 开始时多了个 。上面说了份是包含在 标签内,所以这个情况如果想只找出份的话,用 是匹配不到的 2.有些地方的空格是用  ,有的地方是全角空格,有的地方是用半角空格,如果有用到空格的地方就注意一下咯,我在保存 xml 和 Json 时,就用到了空格,所以我都做替换了 要注意的就这两点而已,好了,我会把这段文字和 xml、Json 一起打包上传。 压缩包里面是全部写好的,可以直接用。 评论返还全部分数哦。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值