1,wxml
<!-- 循环整个复选框,保证点击复选框和文字都能选中 -->
<checkbox-group bindchange="handleCheckboxChange">
<label wx:for='{{unitList}}' wx:key='index' class="notice-flex between view-margin-bottom">
<view class="notice-flex">
<checkbox value="{{item.id}}" checked="{{item.checked}}"/>
<view>{{item.unitName}}</view>
</view>
<view >
<text>{{item.duration+'分钟'}}</text>
<text class="border-view"></text>
<text>¥{{item.price}}</text>
</view>
</label>
</checkbox-group>
2,js
data: {
unitList:null,
sumPrice:0,
shopUnitIdList:[],
},
handleCheckboxChange:function(e){
var sumPrice = 0
var shopUnitIdList = []
var idVal = e.detail.value
var unitList = this.data.unitList
for (let i = 0; i < unitList.length; i++) {
unitList[i].checked = false
for (let j = 0;j < idVal.length; j++) {
if (unitList[i].id == idVal[j]) {
unitList[i].checked = true
sumPrice += unitList[i].price
shopUnitIdList.push(unitList[i].id)
break
}
}
}
this.setData({
unitList,
sumPrice,
shopUnitIdList
})
},