안녕하세요 질문좀드리겠습니다.
장바구니에서요 상품 2개 넣은후 소계 금액이 나오구 그아래에 총계가격이 나오는데요
상품하나 체크박스 풀어도 총계 금액은 동일하게 2개 상품이 나오는데
체크박스 풀면 한개 상품만 총계금액에 나오도록 할수 있는 방법없을까요 ?
답변 2개 / 댓글 1개
저도 이글을 보고 오류가 있다는사실을 알게되었네요..ㅋㅋㅋ
우선 제가 한걸로 알려드리겠습니다.
우선 모두선택 부분에
기존
// 모두선택
$("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개를 선택하든 배송료는 가장 마지막 상품이 배송료를 들고 오게 했습니다.
답변에 대한 댓글 1개
위 총계 금액 부분 수정은 해당 ajax나 금액 부분을 별도 계산하도록 스크립트 구현을 하셔야 할듯 합니다.
답변을 작성하려면 로그인이 필요합니다.
<script src="/js/jquery.number.min.js"></script> 이건 전 40번째 줄쯤 보면 <script src="<?php echo G5_JS_URL; ?>/shop.js"></script> 이 스크립트가 있는데 그 밑에 박아놨고 jquery.number.min.js파일은 제가 다운받아서 /js 폴더 안에 넣어놨습니다.
a.it_sc_price, 추가 라는건 // $s_cart_id 로 현재 장바구니 자료 쿼리 라는 쿼리 부분에
a.it_sc_type, 바로 위에 박았구요..ㅎㅎ