小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在checkboxgroup中,data-*中的值无法被bindchange中的event.target.dataset事件捕获。
wxml
js
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
在微信小程序中,当 checkbox-group 触发 bindchange 事件时,事件的 target 属性指向的是 checkbox-group 本身,而不是内部的 checkbox。因此,你无法通过 event.target.dataset 获取到 checkbox 的 data-* 属性。
checkbox-group
bindchange
target
checkbox
event.target.dataset
data-*
然而,你可以在 checkbox 上绑定 bindtap 事件,并在这个事件处理函数中通过 event.currentTarget.dataset 获取 data-* 属性。因为在 bindtap 事件中,currentTarget 指向的是触发事件的 checkbox。例如:
bindtap
event.currentTarget.dataset
currentTarget
<checkbox-group bindchange="checkboxGroupChange">
<checkbox value="value1" data-extra="extra1" bindtap="checkboxTap">Option 1</checkbox>
<checkbox value="value2" data-extra="extra2" bindtap="checkboxTap">Option 2</checkbox>
</checkbox-group>
Page({
checkboxGroupChange: function(e) {
console.log('checkbox group change, value: ', e.detail.value);
},
checkboxTap: function(e) {
console.log('checkbox tap, data: ', e.currentTarget.dataset);
}
});
请注意,在 checkboxTap 中你只能获取到用户刚刚点击的 checkbox 的数据,而无法获取到整个 checkbox-group 的数据。如果你需要获取整个 checkbox-group 的数据,你可能需要在 checkboxTap 中手动更新和保存这些数据。
checkboxTap
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
在微信小程序中,当
checkbox-group
触发bindchange
事件时,事件的target
属性指向的是checkbox-group
本身,而不是内部的checkbox
。因此,你无法通过event.target.dataset
获取到checkbox
的data-*
属性。然而,你可以在
checkbox
上绑定bindtap
事件,并在这个事件处理函数中通过event.currentTarget.dataset
获取data-*
属性。因为在bindtap
事件中,currentTarget
指向的是触发事件的checkbox
。例如:<checkbox-group bindchange="checkboxGroupChange">
<checkbox value="value1" data-extra="extra1" bindtap="checkboxTap">Option 1</checkbox>
<checkbox value="value2" data-extra="extra2" bindtap="checkboxTap">Option 2</checkbox>
</checkbox-group>
Page({
checkboxGroupChange: function(e) {
console.log('checkbox group change, value: ', e.detail.value);
},
checkboxTap: function(e) {
console.log('checkbox tap, data: ', e.currentTarget.dataset);
}
});
请注意,在
checkboxTap
中你只能获取到用户刚刚点击的checkbox
的数据,而无法获取到整个checkbox-group
的数据。如果你需要获取整个checkbox-group
的数据,你可能需要在checkboxTap
中手动更新和保存这些数据。