我忙于制作一种发票系统,用户可以很容易地制作发票。现在,我正处于必须计算的,每个产品,三个不同的变量/项目,但是我的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);
}
});
我让代码的不重要部分离开了。如果您知道我做错了什么,请让我知道:)
认为这可能会有所帮助吗?
var currentVat = parseFloat($('#totalvat').val());
您正在使用var currentVat = $('#totalvat').val();
从我假设的输入中获取值?这是一个字符串,需要在某些情况下对相关的数据类型进行解析。当+
与字符串一起使用时,编译器会执行串联。
尝试类似:
var currentVat = parseFloat($('#totalvat').val());
或以后进行以下操作:
parseFloat(currentVat);
当您使用数字作为货币时,我会考虑在最后添加后缀.ToFixed(2)
,也许还有其他一些格式