【发布时间】:2018-02-15 02:32:50
【问题描述】:
这段代码有什么问题:
function calculateAddOnPrice() {
if (totalPrice <= 47) {
var polybags= $('#polybags').is(':checked') ? "0.5" : "0";
console.log(polybags);
}
else if (totalPrice >= 48 && totalPrice < 71) {
var polybags = $('#polybags').is(':checked') ? "0.35" : "0";
console.log(polybags);
}
所以我将输出记录到控制台。
当 totalPrice 小于 47 并且我单击 ON 复选框时,控制台看起来像这样:
0.5
当我取消勾选它时,我得到了这个:
0
totalPrice > 48 并且我勾选该框,我得到输出:
0.5
0.35
如果我取消勾选,我会得到:
0
0
我不知道为什么它给了我双重价值,有人可以帮助我吗? :)
更新-----
完整的 jQuery:https://pastebin.com/DYV92cj3
此部分的 HTML:
<div class="checkbox">
<label><input type="checkbox" id="polybags">I WOULD LIKE POLY BAGGING</label>
</div>
【问题讨论】:
-
可以贴出你完整的JS和HTML代码吗?
-
是的。看起来代码没有给出答案。需要更多上下文。听起来 if 和 else if 是一起执行的。可能意味着函数被调用了两次,而 totalPrice 值在某处被更改
-
该代码无法产生您所谓的响应
-
您可以尝试登录到CalculateAddOnPrice 根级别的控制台,看看当您勾选/取消勾选时它被调用了多少次?
-
@Merigold 我不知道该怎么做……对不起!
标签: javascript jquery checkbox input