Javascript计数两个变量出错了

时间:2017-12-28 15:02:39

标签: javascript jquery count

我正忙于制作一种发票系统,用户可以非常轻松地开具发票。现在我正处于我必须计算,每个产品,三个不同的变量/项目,但不是计算它们,我的javascript代码把它像文本(使用+运算符)。

示例:

selectmenu 1 =选项0(增值税= 8.50欧元) selectmenu 2 =选项1(增值税= 12.76欧元)

现在输出必须是(8.50 + 12.76)= 21.26

我的情况下的输出是= 8.5012.76

我的(部分)javascript代码:

$("select#product").on("change", function (e) {
    var $row = $(e.target).closest('.productitem');
    var selVal = $row.find('#product').val();

    var totalvat;
    var currentVat = $('#totalvat').val();
    var NLhoog = 1.21;

    var price0EXC = 40.49;
    var price0INC = (price0EXC * NLhoog).toFixed(2);
    var price0VAT = (price0INC - price0EXC).toFixed(2);
    var price1EXC = 60.74;
    var price1INC = (price1EXC * NLhoog).toFixed(2);
    var price1VAT = (price1INC - price1EXC).toFixed(2);

    if (selVal === "0") {
        $row.find("input#vat").val(price0VAT);
        $row.find("input#priceEXC").val(price0EXC);
        $row.find("input#priceINC").val(price0INC);

        totalvat = (currentVat + price0VAT);
        $('input#totalvat').val(totalvat);

    } else if (selVal === "1") {
        $row.find("input#vat").val(price1VAT);
        $row.find("input#priceEXC").val(price1EXC);
        $row.find("input#priceINC").val(price1INC);

        totalvat = currentVat+price1VAT;
        $('input#totalvat').val(totalvat);

    }
});

我已经放弃了代码中不重要的部分。 如果你知道我做错了什么,请告诉我:)。

2 个答案:

答案 0 :(得分:0)

您正在使用var currentVat = $('#totalvat').val();从我假设的输入中获取值?这是一个字符串,需要在某些字符串中解析为相关的数据类型。当+与字符串一起使用时,编译器会执行连接。

尝试类似:

var currentVat = parseFloat($('#totalvat').val());

或者稍后再做:

parseFloat(currentVat);

当您使用数字作为货币时,我会考虑在最后添加后缀.ToFixed(2),也许还有其他一些格式

答案 1 :(得分:0)

认为这可能会有所帮助?

var currentVat = parseFloat($('#totalvat').val());