javascript - 根据单击的切换按钮更改 DIV 内容
问题描述
如果用户单击“双床”或“特大床”,“需求消息”中的内容必须更改“高需求”或“仅剩???房间”。
由于现有逻辑,按钮的 ID 将相同。现在,如果我单击“特大床”,我在“需求消息”上显示的消息不会改变。它正确显示“双床”。
是否可以通过获取具有数据床类型属性的 ID 来更改消息以匹配和更改消息(高需求或剩余房间数)?
HTML:
<div class="col-lg-4 col-md-12 col-sm-12 col-12 left-container">
<div class="demand-message--wrapper">
<div class="demand-message"></div>
</div>
<div class="left-column">
<div class="btn-group">
<button type="button" data-bed-container-id="deluxe-balcony-room" data-bed-max="190" data-bed-type="twin">Twin Bed</button>
<button type="button" data-bed-container-id="deluxe-balcony-room" data-bed-max="90" data-bed-type="king">King Bed</button>
</div>
</div>
JS:
function onToggleBed(e) {
var thisButton = $(e.currentTarget);
var bedTypeSelected = thisButton.data('bed-type');
var bedValueSelected = thisButton.data('bed-value');
var roomContianerId = thisButton.data('bed-container-id');
var buttonMaxRoom = thisButton.data('bed-max');
var message = '';
if (buttonMaxRoom < 100) {
message = 'Only ' + buttonMaxRoom + ' rooms left';
} else if (buttonMaxRoom > 100) {
message = 'In high demand';
}
if (message == '') {
$('#' + roomContianerId + ' .demand-message').hide();
} else {
$('#' + roomContianerId + ' .demand-message').show();
$('#' + roomContianerId + ' .demand-message').html(message);
}
}
解决方案
正如我在评论中提到的,hypens 将被删除并变成 camelCase。
在这种情况下使用:
var bedTypeSelected = thisButton.data('bedType');
让我们console.log(thisButton.data());
看看您的数据项。
推荐阅读
- python - 在 Plotly Express 中删除自定义悬停卡右侧的颜色
- python - AttributeError:“DataFrame”对象没有“seek”属性
- flutter - 模态颤动
- php - 使用带有标题('Location')的 PhpSpreadsheet 时 PHP 返回 ERR_INVALID_RESPONSE 错误
- c - 不返回任何内容的十进制到十六进制函数的问题
- linux - echo `echo \\\\\\\z` 如何导致 \\z?
- python - 在 PyCharm 中安装 Django
- javascript - 有没有办法在我们正在通过 javascript 开发的应用程序中捕获浏览器中的 js/css 加载错误
- html - 带有时间条件的 HTML 按钮
- python - 尝试将矩阵旋转 90 度但无法工作