2016-10-30 12 views
0

顧客からのオプションに基づいてケーキを作るためのレイヤーコストを計算したい。価格に基づいてレイヤー上の数量を計算する

function updateTotal(){ 
var optionPrice = 0; 
function cakeLayerPrice(){ 
      document.getElementById('layer'); 
      optionPrice += 100;} 
} 
cakeLayerPrice(); 

var totalPrice = optionPrice; 
document.getElementById('totalPrice').innerHTML = "$ " + totalPrice; 
} 
:私はこれを持って私のJavaScriptで

<select id="layer" name="layer" onchange="updateTotal()" > 
<?php for($i=1; $i<100; $i++) { 
     echo "<option value=$i> $i </option>\n"; } 
?> 
</select> 

: 1層は、私はこれを持って、HTMLで

追加の層のコスト100

(すでに1層のために設定した価格)320.00の費用

私の関数cakeLayerPrice()で1レイヤーだけを選択した場合、その量は表示されませんが、適切な解決策は何ですか?

私は

1層= 320.00

2層=ように420.00(+100)

3層= 520.00(+100)とを選択した場合には、 を表示します。

答えて

2

たびにupdateTotalを(呼んでいる)あなたは0

optionPriceをリセットしているが代わりにあなたは選択ボックスレイヤ番号から取得し、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

あなたはこの可能性を持っている場合は、必要に応じて、単にコードを変更。

+0

申し訳ありませんが、これを試してみます。私はかなり類似している多くの機能を持っています。私の主な機能はupdateTotal()です。最後にこれらの関数を追加して、完璧に動作します。私はちょうどレイヤーになると混乱しました。これは量にも当てはまります。ありがとうございました。 – Poofbrayy

関連する問題