根据价格计算图层数量

时间:2016-10-30 07:12:23

标签: javascript php jquery html

我想根据客户的选项计算制作蛋糕的层成本。 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层,那么显示的数量不会显示,什么是正确的解决方案?

e.g。它会显示出来 如果我选择

1层= 320.00

2层= 420.00(+100)

3层= 520.00(+100),依此类推。

1 个答案:

答案 0 :(得分:2)

每次您调用 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也可以避免。

如果您有这种可能性,只需根据需要更改代码。