저는 사용자가 인보이스를 매우 쉽게 작성할 수있는 일종의 인보이스 시스템을 만드는 일에 바쁩니다. 이제는 제품별로, 세 가지 변수/항목을 셀 수있는 시점에 있지만 자바 스크립트 코드는 텍스트 (+ 연산자 포함)를 넣습니다.Javascript count 두 변수가 잘못되었습니다.
예 :
selectmenu 1 = 옵션 0 (단 VAT = 8.50 유로의) selectmenu 2 = 옵션 1 (VAT = 12.76 유로의 경우)
이제 출력이어야한다 (8.50 + 12.76) = 21.26
내 상황에서 출력은 = 8.5012.76
내 (부분)을 자바 스크립트 코드 :
$("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);
}
});
코드의 중요하지 않은 부분을 제외 시켰습니다. 내가 뭘 잘못하고 있는지 알고 계시면 알려주십시오.
'currentVat' 및'priceVAT' 값을 합산하기 전에'parseFloat'를 사용하여 부동 소수점으로 구문 분석하십시오. –
'currentvat'는 문자열이기 때문에. 미리'parseFloat' 할 필요가 있습니다. – Adriani6
HTML에 중복 된 ID가있는 것 같습니다. 그거야? – Tomalak