📅  最后修改于: 2023-12-03 15:37:50.932000             🧑  作者: Mango
复选框是一种常用的表单元素,用于多选项的选择。在某些情况下,我们需要将多选项中的一些项进行优惠或降价。本文将介绍如何使用JavaScript来实现复选框的价格调整功能。
<label>
<input type="checkbox" name="item" value="1" data-price="10">
Item 1
</label>
在这个例子中,我们为复选框指定了一个价格为10。
const checkboxes = document.querySelectorAll('input[type="checkbox"]');
const totalPriceElement = document.getElementById('total-price');
let totalPrice = 0;
checkboxes.forEach(function (checkbox) {
checkbox.addEventListener('change', function () {
if (this.checked) {
totalPrice += parseFloat(this.getAttribute('data-price'));
} else {
totalPrice -= parseFloat(this.getAttribute('data-price'));
}
totalPriceElement.textContent = totalPrice;
});
});
在这个例子中,我们首先获取了页面中所有类型为checkbox的input元素。然后,我们定义了一个变量totalPrice来存储总价格。接着,我们使用forEach函数遍历所有复选框,并使用addEventListener函数添加了一个change事件监听器。在事件的回调函数中,我们判断复选框是否被选中,根据选中状态更新总价格并将其显示在指定的元素中。
document.addEventListener('DOMContentLoaded', function () {
const checkboxes = document.querySelectorAll('input[type="checkbox"]');
const totalPriceElement = document.getElementById('total-price');
let totalPrice = 0;
checkboxes.forEach(function (checkbox) {
checkbox.addEventListener('change', function () {
if (this.checked) {
totalPrice += parseFloat(this.getAttribute('data-price'));
} else {
totalPrice -= parseFloat(this.getAttribute('data-price'));
}
totalPriceElement.textContent = totalPrice;
});
});
});
在这个例子中,我们使用addEventListener函数为DOM加载完成事件添加了一个回调函数。在回调函数中,我们执行了第二步中的代码,从而实现了复选框价格调整功能。
本文介绍了如何使用JavaScript将复选框的价格与总价格关联起来,以实现复选框的价格调整功能。这个功能可以用于电商网站或其他需要多选项价格调整的场景中。