[英]Calculate the quantity on layer based on price
我想根据客户的选择来计算制作蛋糕的层成本。 1层成本320.00(已经为1层设置了价格)
附加层成本100
在HTML我有这个:
<select id="layer" name="layer" onchange="updateTotal()" >
<?php for( $i=1; $i<100; $i++ ) {
echo "<option value=$i> $i </option>\n"; }
?>
</select>
在我的JavaScript我有这个:
function updateTotal(){
var optionPrice = 0;
function cakeLayerPrice(){
document.getElementById('layer');
optionPrice += 100;}
}
cakeLayerPrice();
var totalPrice = optionPrice;
document.getElementById('totalPrice').innerHTML = "$ " + totalPrice;
}
显然,如果我在函数cakeLayerPrice()中选择了仅一层,则金额将不会显示,什么是正确的解决方案?
例如,如果我选择它将显示
1层= 320.00
2层= 420.00(+100)
3层= 520.00(+100),依此类推。
每次调用updateTotal()时 ,都会将optionPrice重置为0。
相反,您应该从图层选择框中获取图层编号并将其乘以100。
function updateTotal(){
var layers = document.getElementById('layer');
var totalPrice = parseInst(layers.value, 10) * 100;
document.getElementById('totalPrice').innerHTML = "$ " + totalPrice;
}
如果未选择任何内容,或者未设置默认值,则将获得-1值。 在这种情况下,只需更新代码以处理负值即可:
function updateTotal(){
var layers = document.getElementById('layer');
var totalPrice = parseInst(layers.value, 10) * 100;
if (totalPrice > 0) {
document.getElementById('totalPrice').innerHTML = "$ " + totalPrice;
}
}
此示例避免了价格为0的情况。
如果有这种可能,只需根据需要更改代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.