使用 jQuery,我正在做一些数学计算来计算价格。数学有效,但我想在它前面放一个美元符号,当我尝试在代码中添加
"$" +
时,数学停止正常工作。如何获得 #totalprice 的值以包含美元符号?
$('#totalprice').val("$" + $('#qty1').val() * $('#price1').val() + $('#qty2').val() * $('#price2').val();
假设在您的示例中
.val()
返回一个数字,请考虑执行此操作时 JavaScript 会对该数字执行什么操作:
"$" + $('#qty1').val()
值
"$"
不是数字。 (毕竟,$ + 5
等于什么?)它是一个字符串。因此 JavaScript 将数字值强制转换为字符串并连接。
基本上,
+
运算符对于字符串的含义与对于数字的含义不同。
分两个不同的步骤来执行你的逻辑。首先使用数字计算结果,然后将该结果连接到输出字符串中。您可以通过用括号将数学表达式分组来在同一行代码上执行此操作。例如:
"$" + ($('#qty1').val() * $('#price1').val() + $('#qty2').val() * $('#price2').val())
"$"
开始论证。 在数学计算中加上一些括号(在
"$" +
之后)。
另外,不要忘记“parseInt”所有这些 *.val()
调用。
并关闭您的全局 .val() 调用;你忘了最后一个括号。