calPrice
및 tpPrice
의 두 변수를 사용하여 간단한 덧셈을 수행하는 데 문제가 있습니다. 변수를 먼저 정의한 다음 클릭 함수 내에서 입력 데이터를 가져오고 변수를 다시 정의합니다. 그래서, 내가 var totalPrice = calPrice + tpPrice;
할 때, 왜 새로운 정의 된 값이 아무것도 인쇄되지 않을까요? 클릭/변경 함수 내에서 업데이트 된 변수 값 얻기
totalPrice
변수가이 값을 선택하지 않습니다 ... 이제
calPrice
에 대한 데이터가 클릭/변경 기능이 실행되면 10
tpPrice
5입니다 가정 해 봅시다?
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' 핸들러 내에서 그 값을 계산해야합니다. 두 변수 모두 배열을 가지고 있으므로주의해야 할 점은'+'연산자가 어떤 동작을 기대하는지 모르겠다. –