【发布时间】:2023-04-04 13:13:01
【问题描述】:
我有一个功能,只有在之前激活了另一个功能时才想启动它。
我有一些复选框,我需要将其值相加得到总数。
仅当用户选择了某些复选框时,它必须激活另一个带有折扣的复选框。 我希望在第一次选择后激活折扣复选框,因为如果我不这样做,我可能会得到负价格。
然后(如果可能的话)我希望折扣复选框被停用是用户取消选择所有以前的复选框。
这可能吗?
这是我的脚本。我是 JavaScript/jQuery 的超级新手,所以这可能是一个愚蠢的问题。
谢谢
$(document).on('change', getCheck);
function getCheck() {
var total= 0;
$('[type="checkbox"]:checked').not("#discount").each(function(i, el) {
//console.log($(this).not("#off").val());
var SumVehicle = parseFloat($(el).val());
total += SumVehicle;
//console.log(total);
//console.log(price_tot);
$('#rata').text(total +" €");
var finalprice = total;
//var Check = getCheck();
if(typeof(total) != "undefined" && total !== 0) {
$('[type="checkbox"]:checked').not(".sum").each(function(i, el) {
var Discount = parseFloat($(this).val());
finalprice = finalprice - Discount;
console.log(finalprice);
$('#rata').text(finalprice +" €");
});
};
});
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="sum" type="checkbox" name="vehicle1" value="1000"> I have a bike<br>
<input class="sum" type="checkbox" name="vehicle2" value="2000"> I have a car<br>
<br><br><br>
<input id="discount" type="checkbox" name="discount" value="200"> Discount<br>
<div id="rata">rata</div>
【问题讨论】:
-
你的js代码有错误。请编辑并修复它
-
在 javascript 中非常重要的一件事是检查开发者控制台的错误和调试。例如,您发布的脚本的控制台出现错误。在浏览器上按
F12访问此控制台日志 -
设置
discount复选框的disabled属性取决于它是否应该被激活。 -
谢谢大家,我可能已经解决了!
标签: javascript jquery html checkbox