javascript - 基于 IF 语句添加变量不起作用?

标签 javascript jquery

我有几个变量,然后根据用户输入添加它们。它的工作原理有一个异常(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/

相关文章:

javascript - 避免 jquery 函数的重复代码

javascript - Jquery获取Dropdown列表的值

javascript - 使用带有 Next JS 路由的 React 路由器

javascript - CSS:标准化重叠、混合 div 的透明度

javascript - 带有自定义控件的 HTML 5 视频 : show duration before playing

javascript - 使用 JS 正则表达式匹配字符串中的方括号文字时出错

jquery - 自动完成功能在对话框中不起作用

javascript - TinyMCE插件构建

javascript - 使用提交按钮进行 AJAX 实时检查可用性(第 3 部分)

javascript - 是否可以在 json 中存储 javascript 数组?