0

私は2つのJQuery関数を持っています:

    $('.satnav').change(function() {
        $('#satnavadd').show();
        var price = "<?php echo $finalprice; ?>";
        //alert(price);
        var numofdays = "<?php echo $length->days; ?>";
        //alert(numofdays);
        var numberofsatnav = $(this).val();
        //alert(numberofsatnav);
        var satnavcost = Number(3) * Number(numofdays);
       //alert(satnavcost);
        var satnavtotal = Number(numberofsatnav) * Number(satnavcost);
        var newprice = Number(price) + Number(satnavtotal);
        $("input#satnavprice").val(satnavtotal);
        $("input#satnavnum").val(numberofsatnav);

    });


        $('.boostseat').change(function() {
            $('#boostseatadd').show();

            var price = "<?php echo number_format($finalprice, 2); ?>";
            //alert(price);
            var numberofboostseat = $(this).val();
            //alert(numberofboostseat);
            var numofdays = "<?php echo $length->days; ?>";
            //alert(numofdays);
            var boostcost = Number(3) * Number(numofdays);
            var boosttotal = Number(numberofboostseat) * Number(boostcost);
            var newprice = Number(price) + Number(boosttotal);
            $("input#hiddenboostprice").val(boosttotal);
            $("input#hiddenboostnum").val(numberofboostseat);

        });

ご覧のとおり、どちらも価格を計算してからHTML要素を更新しますが、両方の最終的な合計も合計したいと思います。

したがって、たとえば:

var extrastotal = Number(boosttotal) + Number(satnavtotal);

ただし、変数を関数の外に移動できないか、機能しません。とにかくこれを回避する方法はありますか、それとも両方のコードが重複している別の関数を作成する必要がありますか?

4

1 に答える 1

0

関数の外部でグローバル変数を設定してから、それぞれに+=を実行して値を追加します。

于 2013-03-04T16:36:31.100 に答える