영카트 질문좀드리겠습니다.
본문
안녕하세요 질문좀드리겠습니다.
장바구니에서요 상품 2개 넣은후 소계 금액이 나오구 그아래에 총계가격이 나오는데요
상품하나 체크박스 풀어도 총계 금액은 동일하게 2개 상품이 나오는데
체크박스 풀면 한개 상품만 총계금액에 나오도록 할수 있는 방법없을까요 ?
답변 2
저도 이글을 보고 오류가 있다는사실을 알게되었네요..ㅋㅋㅋ
우선 제가 한걸로 알려드리겠습니다.
우선 모두선택 부분에
기존
// 모두선택
$("input[name=ct_all]").click(function() {
if($(this).is(":checked")){
$("input[name^=ct_chk]").prop("checked", true); // prop
}else{
$("input[name^=ct_chk]").prop("checked", false); // prop
}
});
를
// 모두선택
$("input[name=ct_all]").click(function() {
if($(this).is(":checked")){
$("input[name^=ct_chk]").prop("checked", true); // prop
var send_cost_pays = "<?=$send_cost2?>";
var tot_price_pays = "<?=$tot_price?>";
var x_total_price = Number(tot_price_pays) + Number(send_cost_pays);
var sod_bsk_text = "<strong>"+$.number(x_total_price)+"</strong> 원";
var send_cost_text = "<strong>"+$.number(send_cost_pays)+"</strong> 원";
$('#sod_bsk_pay1').html(send_cost_text);
$('#sod_bsk_pay2').html(sod_bsk_text);
}else{
$("input[name^=ct_chk]").prop("checked", false); // prop
var sod_bsk_text2 = "<strong>0</strong> 원";
var send_cost_text2 = "<strong>0</strong> 원";
$('#sod_bsk_pay1').html(send_cost_text2);
$('#sod_bsk_pay2').html(sod_bsk_text2);
}
});
변경했구요..
전체선택 체크박스와 개별 선택박스의 기본 checked 는 삭제처리
배송비와 총계 부분 (<?php echo number_format($send_cost); ?>과 <?php echo number_format($tot_price); ?>) 모두 0 처리
스크립트 추가 <script src="/js/jquery.number.min.js"></script> 해당 js 파일은 구글에서 검색하시면 나옵니다.
form 바로 밑 부분에 <input type="hidden" name="t_price" id="t_price" value="0"> 추가
쿼리문 select 부분에
하단 개별선택 부분 필드가져오는 부분 중 a.it_sc_price, 추가
개별 체크박스 부분 뒷부분에 onchange="pay_reset(this.value, '<?php echo $a; ?>', '<?php echo $sell_price; ?>');" 추가
스크립트 하단부분에
function pay_reset(val, idx, price){
var t_price = Number($('#t_price').val());
//$("input:checkbox[name='aaa']").each(function(){
if ($("#ct_chk_"+idx).is(":checked") == true){
var tt_price = t_price + Number(price);
}else if ($("#ct_chk_"+idx).is(":checked") == false){
if(t_price > '0'){
var tt_price = t_price - Number(price);
}
}
$('#t_price').val(tt_price);
if(tt_price > '0'){
var send_cost_pays = "<?=$send_cost2?>";
var x_total_price = tt_price + Number(send_cost_pays);
var sod_bsk_text = "<strong>"+$.number(x_total_price)+"</strong> 원";
var send_cost_text = "<strong>"+$.number(send_cost_pays)+"</strong> 원";
$('#sod_bsk_pay1').html(send_cost_text);
$('#sod_bsk_pay2').html(sod_bsk_text);
}else{
var sod_bsk_text2 = "<strong>0</strong> 원";
var send_cost_text2 = "<strong>0</strong> 원";
$('#sod_bsk_pay1').html(send_cost_text2);
$('#sod_bsk_pay2').html(sod_bsk_text2);
}
}
함수 추가했습니다.
전 @코딩초보1 님 친구추가해놨어요..ㅎㅎ 궁금하신건 언제든 쪽지 보내놓으시면 알려드릴게요..
덕분에 놓친 부분 잡았네요..ㅎㅎ
아 참고로 전 모든 배송료가 동일하다는 전제 입니다. 즉 두개를선택하든 1개를 선택하든 배송료는 가장 마지막 상품이 배송료를 들고 오게 했습니다.
위 총계 금액 부분 수정은 해당 ajax나 금액 부분을 별도 계산하도록 스크립트 구현을 하셔야 할듯 합니다.