微信小程序的checkbox相比网页的checkbox有点不一样,获取多选的值会麻烦点,因为小程序没法通过js的选中事件直接获取反馈,只能通过绑定data来获取。
模板兔下面给一个示例代码,希望对你有所帮助。
wxss文件部分
.qualitys{background:#202020;padding:10px;overflow: hidden;margin-bottom: 20px;border-radius: 5px;} .qualitys .k-item{width: 25%;float: left;font-size:14px;margin-bottom: 6px;} .qualitys .k-item checkbox .wx-checkbox-input{width: 25rpx; height: 25rpx; border-radius: 3px;position: relative;top: -1.5px} .qualitys .k-item checkbox .wx-checkbox-input.wx-checkbox-input-checked{width: 25rpx; height: 25rpx;background: #37C674;} .qualitys .k-item checkbox .wx-checkbox-input.wx-checkbox-input-checked::before{width: 25rpx;height: 25rpx;line-height: 25rpx;border-radius: 3px;text-align: center;font-size:24rpx; color:#FFF; background: transparent;}
wxml文件部分
<view class="qualitys"> <block wx:for="{{tools.qualitys}}" wx:key="id" wx:for-item="quality" wx:for-index="idx"> <label class="k-item" bindtap="bindSelect3" data-index="{{idx}}" data-key="{{quality.key}}"> <checkbox value="{{quality.key}}" checked="{{quality.checked == 1}}" />{{quality.value}} </label> </block> </view>
js文件部分
bindSelect3: function(e){ var that = this var selectKey = that.data.toolsDefault[3].key const items = that.data.tools.qualitys const index = e.currentTarget.dataset.index if(items[index].checked == 1){ items[index].checked = 0 selectKey = selectKey.replace(items[index].key,''); }else{ items[index].checked = 1 selectKey = selectKey + items[index].key } that.setData({ 'toolsDefault[3].key': selectKey }) //console.log(that.data.toolsDefault) },
0 个评论