我有几个变量,然后根据用户输入添加它们。它的工作原理有一个异常(exception)。用户可以选择用现金或信用卡/卡支付。如果他们选择信用卡选项,则需支付 0.50 美元的附加费。问题是我无法将附加费添加到总额中。
这是我的代码(我删除了其他选项并留下一个以减少代码。):
$(function() {
var surcharge = parseFloat("0"),
dsT = parseFloat("0");
$('input[type=radio][name=CAT_Custom_1657686]').on('ifChecked', function(event){
if (this.value == 'I will pay with cash at purchase pickup') {
var surcharge = parseFloat("0");
amountTotal();
} else {
var surcharge = parseFloat(".50");
amountTotal();
}
});
$("#CAT_Custom_1657649").change(function (){
var ds = parseFloat("6.00");
dsQ = $(this).val(),
dsT = ds * parseFloat(dsQ);
amountTotal();
});
function amountTotal() {
var myTotal = surcharge + dsT;
$("#Amount").val(myTotal);
console.log(myTotal);
}
$('input').iCheck({
checkboxClass: 'icheckbox_square',
radioClass: 'iradio_square',
aria: true
});
});
Here is a fiddle link显示问题的工作代码。
正如您将看到的,我正在使用 iCheck 来设置 radio 输入的样式。我不认为这是造成问题的原因。
如何解决这个问题?
最佳答案
您正在再次定义作用域中的变量。
在为变量赋值时去掉那些 var
关键字。
这个
var 附加费 = parseFloat("0");
应该替换为这个
附加费 = parseFloat("0");
另一个也一样。
关于javascript - 基于 IF 语句添加变量不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34193344/