这篇文章主要介绍了微信小程序 checkbox使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
效果图如下:
实例代码如下:
type_add.js
// pages/detail_add/detail_add.js
Page({
/**
* 页面的初始数据
*/
data: {
selectData: "", //下拉列表的数据
height: 20,
focus: false
},
checkboxChange: function(e) {
console.log('checkbox发生change事件,携带value值为:', e.detail.value)
console.log("长度:" + e.detail.value.length);
this.setData({
typeId: e.detail.value,
length: e.detail.value.length
})
},
formSubmit: function(e) {
console.log('form发生了submit事件,携带数据为:' + e.detail.value.amount + ", " + e.detail.value.typeId + ", " + this.data.remark + ", " + this.data.date + ", " + this.data.time);
var amount = e.detail.value.amount;
var typeId = this.data.typeId;
var date = this.data.date;
var time = this.data.time;
var remark = e.detail.value.remark;
var createDate = date + " " + time;
var length = this.data.length;
console.log("length:" + length);
console.log("date:" + date);
console.log("time:" + time);
console.log("createDate:" + createDate)
if (amount == null || amount == "") {
wx.showToast({
title: "支出金额不能为空",
icon: 'none',
duration: 1500
})
} else if (typeId == null || typeId == "") {
wx.showToast({
title: "支出类型不能为空",
icon: 'none',
duration: 1500
})
} else if (length >= 2) {
wx.showToast({
title: "支出类型只能选择一种",
icon: 'none',
duration: 1500
})
} else if (date == null || date == "") {
wx.showToast({
title: "日期不能为空",
icon: 'none',
duration: 1500
})
} else if (time == null || time == "") {
wx.showToast({
title: "时间不能为空",
icon: 'none',
duration: 1500
})
} else if (remark == null || remark == "") {
wx.showToast({
title: "备注不能为空",
icon: 'none',
duration: 1500
})
} else {
wx.request({
url: getApp().globalData.urlPath + "spendingDetail/add",
method: "POST",
data: {
amount: amount,
typeId: typeId,
createDate: createDate,
remark: remark
},
header: {
"Content-Type": "application/x-www-form-urlencoded"
},
success: function(res) {
console.log(res.data.code);
if (res.statusCode == 200) {
//访问正常
if (res.data.code == "000000") {
wx.showToast({
title: "添加支出详情成功",
icon: 'success',
duration: 3000,
success: function() {
wx.navigateTo({
url: '../detail/detail'
})
}
})
}
} else {
wx.showLoading({
title: '系统异常',
fail
})
setTimeout(function() {
wx.hideLoading()
}, 2000)
}
}
})
}
},
formReset: function() {
console.log('form发生了reset事件')
},
bindDateChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
date: e.detail.value
})
},
bindTimeChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
time: e.detail.value
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
wx.setNavigationBarTitle({
title: "添加支出详情"
})
var userCode = wx.getStorageSync('userId').toString();
var self = this;
wx.request({
url: getApp().globalData.urlPath + "spendingType/types", //json数据地址
data: {
userCode: userCode
},
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
success: function(res) {
console.log("res.data.data.typeName:" + res.data.data)
self.setData({
selectData: res.data.data
})
}
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function() {
}
})
type_add.wxml:
<form bindsubmit="formSubmit" bindreset="formReset">
<view class="section">
<text>支出金额</text>
<input name="input" name="amount" placeholder="请输入支出金额" />
</view>
<view class="section">
<text>支出类型</text>
<checkbox-group bindchange="checkboxChange">
<label class="checkbox" wx:for="{{selectData}}">
<checkbox value="{{item.typeId}}" checked="{{item.checked}}" />{{item.typeName}}
</label>
</checkbox-group>
</view>
<view>
<text>创建时间</text>
<view class="section">
<picker mode="date" value="{{date}}" start="2018-09-01" end="2030-09-01" bindchange="bindDateChange">
<view class="picker">
选择日期: {{date}}
</view>
</picker>
</view>
<view class="section">
<picker mode="time" value="{{time}}" start="00:00=" end="23:59" bindchange="bindTimeChange">
<view class="picker">
选择时间: {{time}}
</view>
</picker>
</view>
</view>
<view class="section">
<text>备注</text>
<input name="input" name="remark" placeholder="请输入备注" />
</view>
<view>
<text>\n</text>
</view>
<view class="btn-area">
<button form-type="submit">提交</button>
<view>
<text>\n</text>
</view>
<button form-type="reset">重置</button>
</view>
</form>
bindchange=”checkboxChange” 相当于js中的onchange事件。
上述中的form表单基本就是参考官方文档改的。
有一段代码还是要提一下:
self.setData({
selectData: res.data.data
})
self其实相当于this,意为当前。每次触发事件,对应的值都会进行存储,用于与后台通信进行数组传递,
type_add.wxss:
/* pages/login/login.wxss */
form{
width: 310px;
height: 240px;
line-height: 40px;
/* border: 1px solid red; */
}
input{
border: 1px solid #ccc;
width: 310px;
height: 40px;
}
.button{
margin-top: 20px;
}
.header text{
font-size: 25px;
color: #666;
}
form text{
font-size: 20px;
color: #666;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
微信小程序,checkbox
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“微信小程序 checkbox使用实例解析”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2025年11月11日
2025年11月11日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
