У меня возникла проблема с простым добавлением с двумя переменными 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' после того, как значения будут обновлены int he обработчиками событий. Значение «totalPrice» не оценивается после первой оценки, которая была бы «undefined» – Agalo
. Значение «totalPrice» вычисляется только при загрузке страницы, а переменные 'calPrice' и' tpPrice' пусты. Вам нужно вычислить это значение в обработчиках 'click'. Хотя вы должны заметить, что обе эти переменные содержат массивы, поэтому я не уверен, какое поведение вы ожидаете от оператора '+', чтобы иметь –