2017-12-26 6 views
-1

私は私のドロップダウンオプションの選択肢を計算するために私のフォームにカリキュレータを持っています。フォーム電卓スクリプトベース価格がロードされていませんオンロード

$(function() { 
    $("select.calculate").on("change", calc); 
    $("input[type=checkbox].calculate").on("click", calc); 

    function calc() { 
    var basePrice = 60; 
    newPrice = basePrice; 
    $("select.calculate option:selected, input[type=checkbox].calculate:checked").each(function() { 
     newPrice += parseInt($(this).data('price'), 10); 
    }); 

    newPrice = newPrice.toFixed(2); 
    $("#item-price").html(newPrice); 
    $("#item_price_val").val(newPrice); 

    } 
}); 

とhtml内の数字を出すために、私はそれを持っているとして:

<span id="item-price">0</span> 

問題は、私はページ上の取得しかしときに私は、60でそのゼロをbasepriceを持っている、です。私が選択したときだけ、価格は上がるでしょう。どのように私はページの負荷で最初から表示するbasepriceを取得するのですか?

これらの選択は必須ではないので、基本価格として開始する必要があります。したがって、私がそれらを選択しないと、私は送信フォームをクリックし、60ドルではなく0ドルを提出します。

+0

文書の準備ができたら、 'calc()'を呼び出すことができます。 – RRK

+0

はうまくいきませんでした。どのようにして電話を追加しますか? –

+0

これには(php)コードがない場合、自分自身のようなタグを使用しないでください。同じようにHTMLタグ/フォームが使用されます。ここに関連するコードはありません。 –

答えて

0
var basePrice = 60; 
$(document).ready(function() { 
$("select.calculate").on("change", calc); 
$("input[type=checkbox].calculate").on("click", calc); 
$("#item-price").html(basePrice); 
$("#item_price_val").val(basePrice); 
}); 
function calc() { 
newPrice = basePrice; 
$("select.calculate option:selected,input[type=checkbox].calculate:checked").each(function() { 
    newPrice += parseInt($(this).data('price'), 10); 
}); 
newPrice = newPrice.toFixed(2); 
$("#item-price").html(newPrice); 
$("#item_price_val").val(newPrice); 
} 

コードの最新バージョンを使用してください。

+0

ありがとうございます。それはうまくいった。しかし、ページの読み込み時に「$ 60」と表示されますが、フォーム選択を更新すると常に「$ 80.00」と表示されます。小数点は.00小数点以下を除きます。 「$ 60」の代わりに「$ 60.00」から。私は基本価格に60.00を追加しようとしましたが、その作業はありませんでした。 –

+0

この属性を持つchaeck $(this).data( 'price')。それは何を返すのですか?またはnewPrice = newPrice.toFixed(0)を使用します。追加のポイント値が削除されます。 –

+0

ありがとう。 2つ目は働いた。 –

関連する問題