• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > 微信小程序实现城市列表的选择

微信小程序实现城市列表的选择

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-11-30

匿名通过本文主要向大家介绍了微信小程序城市列表选择,小程序城市列表选择,微信小程序列表选择等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
这篇文章主要为大家详细介绍了微信小程序实现城市列表选择,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了小程序实现城市列表选择的具体代码,供大家参考,具体内容如下

实现效果预览

实现功能简介

  • 城市的选择

  • 按中文/拼音/首字母条件搜索

  • 按首字字母快速定位到城市位置

目录结构

主要代码

app.js

App({
 globalData: {
 trainBeginCity: '杭州',
 trainEndCity: '北京'
 }
})

app.json

{
 "pages":[
 "pages/index/index",
 "pages/citys/citys"
 ],
 "window":{
 "backgroundTextStyle":"light",
 "navigationBarBackgroundColor": "#fff",
 "navigationBarTitleText": "WeChat",
 "navigationBarTextStyle":"black",
 "enablePullDownRefresh": true
 }
}

index.wxml

<view class='warning-top'>测试消息消息这是测试消息啊啊啊</view>
<form bindsubmit="formSubmit" bindreset="formReset" class='form-content'>
 <view class='flex-box' data-id='出发城市'>
 <view class='flex-box-header'>出发城市</view>
 <view class="flex-box-content">
 <input name='beginCity' value='{{begin}}' disabled='disabled' placeholder="" bindtap='bindBeginCityView' class='input-city'/>
 </view>
 </view>

 <view class="flex-box" data-id='目的城市'>
 <view class='flex-box-header'>目的城市</view>
 <view class="flex-box-content">
 <input name='endCity' value='{{end}}' placeholder="" disabled='disabled' bindtap='bindEndCityView' class='input-city'/>
 </view>
 </view>

 <view class="flex-box">
 <view class='flex-box-header'>出发日期</view>
 <picker mode="date" name='leaveDate' class='flex-box-content-pricker' value="{{date}}" start="2018-01-01" end="2019-09-01" bindchange="bindDateChange" >
 <view class='input-city'>{{date}}</view>
 </picker>
 </view>

 <view class="btn-area">
 <button formType="submit" class='btn-query'>查询</button>
 </view>
</form>

index.js

const app = getApp()

Page({
 data: {
 begin: '',
 end: '',
 date: null
 },

 formSubmit: function (e) {
 // console.log('form发生了submit事件,携带数据为:', e.detail.value)
 wx.navigateTo({
 url: '../trains/trains?beginCity=' + e.detail.value.beginCity + "&endCity=" + e.detail.value.endCity + "&leaveDate=" + e.detail.value.leaveDate,
 })
 },
 formReset: function () {
 console.log('form发生了reset事件')
 },
 bindDateChange: function (e) {
 this.setData({
 date: e.detail.value
 })
 },
 onLoad: function (options) {
 // wx.navigateTo({
 // url: '../citys/citys?cityType=begin',
 // })


 if (this.data.date == null || this.data.date.trim() == "") {
 var day = new Date()
 day.setTime(day.getTime() + 24 * 60 * 60 * 1000);
 var year = day.getFullYear(); //年
 var month = day.getMonth() + 1; //月
 var day = day.getDate();  //日

 if (month < 10) { month = "0" + month; }
 if (day < 10) { day = "0" + day; }
 this.setData({ date: year + '-' + month + '-' + day })
 }
 }, onPullDownRefresh: function () {
 wx.stopPullDownRefresh();
 }, bindBeginCityView: function () {
 wx.navigateTo({
 url: '../citys/citys?cityType=begin',
 })
 }, bindEndCityView: function () {
 wx.navigateTo({
 url: '../citys/citys?cityType=end',
 })
 }, onShow: function () {
 this.setData({ begin: app.globalData.trainBeginCity })
 this.setData({ end: app.globalData.trainEndCity })
 }


})

index.wxss

.flex-box {
 display: flex;
 flex-direction: row;
 border-bottom: #CCCCCC solid 1px;
 margin: 28rpx;
 width: 600rpx;
 padding:10rpx;
 height: 70rpx;
}

.btn-area{
 margin: 30rpx;
 width: 600rpx;
}

.flex-box-header{
 width: 25%;
 font-size: 30rpx;
 margin-top: 10rpx;
 color: #999999;

 /* line-height: 60rpx; */
}

.flex-box-content{
 width: 70%;
 margin-top: 0rpx; 
 font-size: 45rpx;
}
.flex-box-content-pricker{
 margin-top: 0rpx; 
 width: 70%;
 font-size: 45rpx;
}

.form-content{
 margin-top:30rpx; 
 display: flex;
 margin-left: 5%;
 width: 90%;
 background-color: #FFFFFF;
 border-radius: 20rpx;
 /* border: 3rpx solid #CCCCCC; */
 height: 530rpx;
}

.bus-view{
 display: flex;
 flex-direction: row;
 width: 700rpx;
 height: 100rpx;
 margin:20rpx;
 font-size: 30rpx;
 border-bottom: 1rpx solid #CCCCCC; 
}

.bus-view-left{
 text-align: center;
 line-height: 100rpx;
 font-size: 30rpx;
 width: 200rpx;
 /* border-right: 1rpx solid #CCCCCC; */
}

.bus-view-right{
 width: 300rpx;
 display: flex;
 flex-direction: column;
 font-size: 28rpx;
 /* border: 1rpx solid #CCCCCC; */
}

.bus-view-right-item{
 text-align: center;
 margin: 5rpx;
}

.btn-query{
 background-color:#3399CC;
 color:#FFFFFF;
}


.input-city{
 /* border: 1rpx solid #CCCCCC; */
}

citys.wxml

<view class="search-box">
 <input placeholder="中文/拼音/首字母" class='search-input' bindinput='bindSarchInput' placeholder-class='search-input-placeholder' />
</view>
<view class='a-z'>
 <view wx:for="{{cityAZ}}" wx:key="unique">
 <view data-id='{{item.cityName}}' bindtap='bindAZ'>{{item.cityName}}</view>
 </view>
</view>
<view class='city-item-content'>
 <view wx:for="{{cityResults}}" wx:key="unique">
 <view wx:if="{{item.cityPinYin.length > 1}}" class='city-item' data-cityname='{{item.cityName}}' bindtap='citySelected'>{{item.cityName}}</view>
 <view wx:else class='city-item-A-Z' data-cityname='{{item.cityName}}'>{{item.cityName}}</view>
 <!-- <view data-cityname='{{item.cityName}}' bindtap='citySelected' >{{item.cityName}}</view> -->
 </view>
</view>

citys.js

const app = getApp()

Page({
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) {
 this.setData({
 cityType: options.cityType
 })
 if (this.data.cityResults == null) {
 this.setData({
 cityResults: this.data.citys
 })
 }
 },
 bindAZ: function (e) {
 var currentCityName = e.currentTarget.dataset.id
 var that = this;
 //放入A-Z的scrollTop参数
 if (that.data.scrollAZ == null) {
 wx.createSelectorQuery().selectAll('.city-item-A-Z').fields({
 dataset: true,
 size: true,
 rect: true
 }, function (res) {
 res.forEach(function (re) {
  if (currentCityName == re.dataset.cityname) {
  wx.pageScrollTo({
  scrollTop: re.top + that.data.scrollNow - 55.5,
  duration: 0
  })
  }
 })
 }).exec();
 } else {
 this.data.s



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 微信小程序实现城市列表的选择

相关文章

  • 2018-11-30小程序之如何实现朋友圈图片的生成
  • 2018-11-30微信小程序实例:点击事件和长按事件的代码实现
  • 2018-11-30微信小程序之数据访问介绍
  • 2018-11-23微信小程序云开发控制台
  • 2018-11-30小程序之实现主页的tab选项功能的方法
  • 2018-11-23微信小程序云开发云函数
  • 2018-11-30微信小程序怎么开发之微信小程序开发高清图文教程
  • 2018-11-30微信小程序列表下拉刷新上拉加载实例代码
  • 2018-11-30微信小程序开发的原创经验
  • 2018-11-30微信小程序购物商城系统开发所需工具

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信小程序实现发送短信倒计时功能的示例代码
    • 小程序开发基础篇之index页面解析(5)
    • 微信小程序 http请求封装详解及实例代码
    • 微信小程序云开发API 更新一条记录
    • 技术解答—app微信小程序中的页面跳转
    • 微信小程序实现下拉框(附代码)
    • 微信小程序实现点击按钮修改字体颜色功能
    • 微信小程序开发中怎样实现Android环境下的横向滚动
    • 微信小程序中表单提交和验证以及正则表达式的用法介绍(附代码)
    • 微信小程序网络请求(GET请求)详细说明

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有