-2
私は価格を計算する関数を持っています。変数totalPrice
は、選択の合計を計算します。私はその後totalPrice
をdivに書いています。関数から変数を取得してイベントで実行する
私の体は変更イベントを実行していて、変更イベント内でcalcTotalPrice
関数を実行しようとしていて、totalPrice
変数にアクセスしようとしていますが、変数が定義されていません。
調整されたtotalPrice
変数を自分の関数から取得してイベントで実行するにはどうすればよいですか?
function calcTotalPrice() {
var totalPrice = 0;
var discountPrice = 0;
if (package1.is(':checked') && package2.is(':checked')) {
$('.calendar-check:checked').each(function() {
var calSoloPrice = ($(this).data('solo-price'));
var calCombinedPrice = ($(this).data('combined-price'));
totalPrice += parseInt($(this).data('combined-price'));
discountPrice += calSoloPrice - calCombinedPrice;
});
$('.tp-pack-check:checked').each(function() {
var tpSoloPrice = ($(this).data('solo-price'));
var tpCombinedPrice = ($(this).data('combined-price'));
totalPrice += parseInt($(this).data('combined-price'));
discountPrice += tpSoloPrice - tpCombinedPrice;
});
$('#package-review-savings').html("<div class='discountMed'>You will be saving $" + discountPrice + " per order by bundling your product package.</div>");
}
else {
if (package1.is(':checked')) {
$('.calendar-check:checked').each(function() {
totalPrice += parseInt($(this).data('solo-price'));
});
}
if (package2.is(':checked')) {
$('.tp-pack-check:checked').each(function() {
totalPrice += parseInt($(this).data('solo-price'));
});
}
}
$('#package-review-total').html("$" + totalPrice);
};
$('body').on('change', function() {
calcTotalPrice();
console.log("Total Price" + totalPrice);
});
機能を使用すると、関数を呼び出すとき、あなたが変数に割り当てることができ、値を返す必要があります。 – Barmar
@Barmarもしこれを行うと 'var packagePrice = calcTotalPrice(); console.log( "Total Price - " + packagePrice); 'これはUNDとして出力されます。 – Paul
[JavaScriptで値を返す方法](http://stackoverflow.com/q/5887386/215552)および/または[return'キーワードのドキュメント(https://developer.mozilla.org/)を参照してください。 en-US/docs/Web/JavaScript /リファレンス/ステートメント/リターン)。 –