0

基本価格が 249.99 ドルのチェックアウト フォームがあります。ユーザーは 99.99 ドルで机や椅子を追加することができます。現在、価格は変更されていますが、基本価格に追加するのではなく、基本価格を削除しています。選択を解除すると、実際には基本価格が差し引かれ、合計は 0 ドルになります。

$(':checkbox').change(function(){
    var sum = 0;
    var names = $(':checked').map(function(){
        sum += (this.value - 0);
        return this.name;
    }).get().join(',');
    var spans = $('span.amount');
    spans[1].innerHTML = sum;
});

私が何を意味するかを示すために、ここでフィドルを作成しました。では、基本価格を 249.99 ドルのままにし、適切な計算を行うにはどうすればよいでしょうか? 事前にご協力いただきありがとうございます。

4

3 に答える 3

6

なぜsum = 0ですか?与えられた例では 249.99 ではないでしょうか?

これを見てください:

http://jsfiddle.net/XSCZ3/7/

于 2013-04-12T16:28:16.383 に答える
1

sum次のように変数を初期化するだけです。var sum = 249.99;

デモ: http://jsfiddle.net/darkajax/vANz4/

于 2013-04-12T16:29:00.403 に答える
1

2号。

合計を 249.99 で初期化するように変更します。

最後の行は、合計を表示する 2 行のコードを変更する必要があります。 http://jsfiddle.net/XSCZ3/12/

なぜボタンの価格だけを変更するのですか。フィドルの上部にあるボタンの価格と最終価格の見出しを変更する必要があります。

$(':checkbox').change(function(){
    var sum = 249.99;
    var names = $(':checked').map(function(){
        sum += (this.value - 0);
        return this.name;
    }).get().join(',');
    //var spans = $('span.amount'); No need for this
    //spans[1].innerHTML = sum;  No need for this
    $('span.amount').text(sum); //Change to this.
});
于 2013-04-12T16:32:13.443 に答える