我有一个食物菜单表格,但我在处理带有复选框的部分时遇到了问题。
我想让表单变得更好,所以我将复选框设置为按钮,这样当单击时该框就会被选中。这工作正常,但问题是当我从一个复选框移动到另一个复选框而不取消选中第一个复选框时。它不会从我的总额中减去金额。
我使用了以下 jQuery 脚本:
$('.drinks').on('change', function() {
$('.drinks').not(this).prop('checked', false);
});
从一个复选框自动切换到下一个复选框,该复选框以图形方式显示,但在我的控制台中,它实际上并没有取消选中其他框。
$(document).ready(function(){
console.log("Jquery DOM ready.");
let totalprice="200";
$('#pricedisplay').html("$" + totalprice);
$('input[name=drink-one]').change(function(){
console.log("an input just changed.");
$('input[name=drink-one]:checked').each(function(){
let oneAddon = this.value;
console.log(this.value);
totalprice = parseFloat(totalprice) + parseFloat(oneAddon);
console.log(totalprice);
});
$('input[name=drink-one]:not(:checked)').each(function (){
let oneAddon = this.value;
console.log(this.value);
totalprice = parseFloat(totalprice) - parseFloat(oneAddon);
console.log(totalprice);
});
$('#pricedisplay').html("$" + totalprice)
});
$('input[name=drink-two]').change(function(){
console.log("an input just changed.");
$('input[name=drink-two]:checked').each(function(){
let twoAddon = this.value;
console.log(this.value);
totalprice = parseFloat(totalprice) + parseFloat(twoAddon);
console.log(totalprice);
});
当我单击按钮时,总价会正确添加。如果我单击同一个按钮,它会正确减去。如果我在取消单击上一个按钮之前单击另一个按钮,则整个事情会中断并不断添加,因为您无法返回到之前单击的另一个按钮以撤消其值。
我需要帮助才能使该函数执行以下操作:
如果用户不需要任何额外的饮料,价格保持不变。
如果用户选择“喝一杯”,价格就会上涨 5。
如果用户再次点击“喝一个”按钮,价格就会下降 5。
如果用户点击“喝一个”按钮,然后立即点击“喝两个”按钮,价格只会加上“喝两个”值并减去“喝一个”值。“喝三杯”等也是如此。
一次只能选中一个按钮,或者一次不能选中任何按钮。
我尝试包含不同步骤的控制台日志以帮助调试。
HUWWW
相关分类