Jquery/Javascript问题
我不熟悉query/javascript,下面的代码在计算总值和税额时遇到了问题 用户输入的净金额。用户将输入双倍金额,总金额和增值税金额也定义为双倍金额。 有人能帮忙吗?当我尝试运行以下代码时,我得到一个错误:uncaughtsyntaxerror:意外数字Jquery/Javascript问题,javascript,jquery,Javascript,Jquery,我不熟悉query/javascript,下面的代码在计算总值和税额时遇到了问题 用户输入的净金额。用户将输入双倍金额,总金额和增值税金额也定义为双倍金额。 有人能帮忙吗?当我尝试运行以下代码时,我得到一个错误:uncaughtsyntaxerror:意外数字 $('#netPayment').change(calcLowerVatRateAndGrossAmount); /* $('#netPayment').change(fun
$('#netPayment').change(calcLowerVatRateAndGrossAmount);
/* $('#netPayment').change(function(){
calcLowerVatRateAndGrossAmount();
}); */
});
function calcVatRateAndGrossAmount(){
var netPayment = parseFloat($('#netPayment').val());
var vatAmount = 00.0;
var VatRate = 20.0;
var grossPayment = 0.00;
var totalPaymentAmount = 0.00;
if (netPayment !== '') {
vatAmount = (netPayment * VatRate) / 100;
grossPayment = (netPayment - vatAmount);
$('#vatAmount').val(parseFloat(vatAmount.data).toFixed(2));
$('#grossPayment').val(parseFloat(grossPayment.data).toFixed(2));
} else {
$('#vatAmount').val(vatAmount.amountNull);
$('#grossPayment').val(grossPayment.amountNull);
}
};
所以你在这里计算一个数字
vatAmount = (netPayment * VatRate) / 100;
在这里,您将VATMount视为具有关键数据的对象
您应该只使用变量。简单的测试
console.log("variable itself: ", vatAmount);
console.log("key data: ", vatAmount.data);
所以你只需要这样做
$('#vatAmount').val(vatAmount.toFixed(2));
$('#grossPayment').val(grossPayment.toFixed(2));
对grossPayment执行相同的操作,并引用其他一些属性VATAMMOUNT.amountNull
应该是
$('#vatAmount').val(""); //or any error message
$('#grossPayment').val("");
请详细说明问题,以便我们了解需要查找的内容1问题是什么?2.data和.amountNull属性的一些详细信息可能会有所帮助。由于vatAmount是一个数字,您希望vatAmount.data是什么?同样,对于grossPayment和.amountNull?您引用的语法错误不在您引用的代码范围内。如果用户输入1000.00,vatrate为20.00,我希望VATAMUNT.data为200.00,grossAmount为8.00parseFloatvatAmount仍然是错误的。请注意,语法错误/键入问题应该关闭。你投了吗?@JanDvorak一个数字有什么问题?它只会返回一个数字。即使它有效,也会出错;-结果与论点有什么不同?谢谢,看起来好多了!当我添加一个新的金额时,它会计算正确的值,但当我清空净金额时,现有的值会保留。当用户执行此操作时,如何用空格替换总额和增值税金额?
$('#vatAmount').val(vatAmount.amountNull);
$('#grossPayment').val(grossPayment.amountNull);
$('#vatAmount').val(""); //or any error message
$('#grossPayment').val("");