我遇到了一個問題,即使用兩個變量calPrice
和tpPrice
進行簡單加法。我首先定義變量,然後在點擊函數中獲取輸入數據並重新定義變量。所以,當我做var totalPrice = calPrice + tpPrice;
,爲什麼新的定義值不打印任何東西?從點擊/更改函數中獲取更新後的變量值
假設calPrice
的數據爲10,tpPrice
的數據爲5,一旦點擊/更改函數已經運行...爲什麼我的totalPrice
變量沒有選取這些值?
var calPrice;
var tpPrice;
$('.calendar-check').on('click', function() {
calPrice = [];
$('.calendar-check:checked').each(function() {
calPrice.push($(this).data('cal-price'));
});
$('#pg-price-review').html("$ " + calPrice);
});
$('.tp-pack-check').on('change', function() {
tpPrice = [];
$('.tp-pack-check:checked').each(function() {
tpPrice.push($(this).data('price'));
});
$('#tp-cost-review').html("$" + tpPrice);
});
var totalPrice = calPrice + tpPrice;
$('#package-review-total').html(totalPrice);
爲什麼不是在事件處理程序中的總價格代碼。在事件處理程序更新值後,您需要計算'totalPrice'。 'totalPrice'的值不會在第一次評估之後評估,該值將是'undefined' – Agalo
您的'totalPrice'值僅在頁面加載時計算,並且'calPrice'和'tpPrice'變量都爲空。您需要在'click'處理程序中計算該值。雖然你應該注意到這兩個變量都包含數組,所以我不確定你期望''+'操作符有什麼行爲 –