Javascript getelementbyId并添加到其中
这可能是一个非常简单的问题,但是javascript对我来说是非常新的,我真的不明白为什么它不起作用 我正在构建一个购物车,当用户选择他们的国家在英国以外时,它将向总运费中添加预定义的运费。默认设置为0 因此,目前我正在整理一个非常简单的函数,这样当盒子发生任何变化时,它会在总数中增加5英镑(我相信我可以解决如何检查英国等) 我的javascript是这样的:Javascript getelementbyId并添加到其中,javascript,math,add,getelementbyid,Javascript,Math,Add,Getelementbyid,这可能是一个非常简单的问题,但是javascript对我来说是非常新的,我真的不明白为什么它不起作用 我正在构建一个购物车,当用户选择他们的国家在英国以外时,它将向总运费中添加预定义的运费。默认设置为0 因此,目前我正在整理一个非常简单的函数,这样当盒子发生任何变化时,它会在总数中增加5英镑(我相信我可以解决如何检查英国等) 我的javascript是这样的: function checkPostageCost() { var grandTotal = document.getEleme
function checkPostageCost() {
var grandTotal = document.getElementById("cartGrandTotal").value;
var shippingTotal = 5;
var newGrandTotal = grandTotal+shippingTotal;
document.getElementById('invoiceGrandTotal').innerHTML = newGrandTotal;
}
选择框:
<SELECT name='shippingForm_Country' id='shippingForm_Country' onChange="checkPostageCost();">
<?= $availableCountriesList ?>
</SELECT>
从隐藏的输入框中检索总变量,如下所示:
<input type="hidden" id="cartGrandTotal" name="cartGrandTotal" value="<?= $finalGrandTotal ?>" />
将字符串转换为数字,例如使用+
作为前缀或使用。为了避免难看的数字,请使用
问题是您将它们作为字符串添加,因此它只是将两个数字一个接一个地连接起来。相反,将它们转换为浮动
,然后执行添加操作,然后返回到字符串以执行innerHTML
部分:
var-grandTotal=parseFloat(grandTotal)
永无止境的故事:;)非常感谢。这非常有效。为了格式化价格,我使用了php函数displayAmount($amount)。如何在javascript中实现这一点?document.getElementById('invoiceGrandTotal')。innerHTML=“”;你不能,因为PHP是服务器端,JS是客户端。好的,不用担心,我会找到一个替代方案。谢谢你的帮助
function checkPostageCost() {
var grandTotal = parseFloat(document.getElementById("cartGrandTotal").value);
var shippingTotal = 5;
var newGrandTotal = grandTotal + shippingTotal;
document.getElementById('invoiceGrandTotal').innerHTML = newGrandTotal.toFixed(2);
}