콤마에 관해 질문있습니다.

콤마에 관해 질문있습니다.

QA

콤마에 관해 질문있습니다.

본문


                    <?php 
                    for ($i=0; $row=sql_fetch_array($result); $i++) {
                    ?>
                    <li class="cart_goods">
                        <div class="cart_goods_detail">                            
                            <div class="cgd_top">
                                <label>
                                    <input type="hidden" name="ct_chk[<?php echo $i; ?>]" value="1" id="ct_chk_<?php echo $i; ?>">
                                    <label for="ct_chk_<?php echo $i; ?>"><span></span><b class="sound_only">상품선택</b></label>
                                    <span class="goods_name"><?php echo $it_name; ?></span>
                                </label> 
                            </div>
                            <div class="cgd_contents">
                                <div class="block">
                                        <section id="fregister_private">
                                            <table>
                                                <colgroup>
                                                    <col style="width:15%">
                                                    <col style="width:25%">
                                                    <col style="width:30%">
                                                    <col style="width:30%">
                                                </colgroup>
                                                <thead>
                                                <tr>
                                                    <th></th>
                                                    <th>구매수량</th>
                                                    <th>정상가</th>
                                                    <th>소계</th>
                                                </tr>
                                                </thead>
                                                <tbody>
                                                <tr>
                                                    <td class="img_area"><?php echo $image; ?></td>
                                                    <td>
                                                    <input type="text" name="ct_qty[<?php echo $row['it_id']; ?>][]" id="ct_qty_<?php echo $i; ?>" class="qty input" placeholder="0"> 개
                                                    </td>
                                                    <td>
                                                    <input type="text" name="groupbuy_price[<?php echo $i; ?>]" id="groupbuy_price_<?php echo $i; ?>" class="unit input2" value="<?php echo $row['it_price']; ?>"> 원
                                                    </td>
                                                    <td>
                                                    <input type='text' name="groupbuy_total[<?php echo $i; ?>]" id="groupbuy_total_<?php echo $i; ?>" readonly class='amount input2' placeholder="0"> 원
                                                    </td>
                                                 </tr>
                                                </tbody>
                                            </table>
                                        </section>
                                </div>
                            </div>
                        </div>
                    </li>
                    <?php
                    } // for 끝
                    ?>
<ul class="list list4 total">
                <li class="th">총 상품금액</li>
                <li class="td"><span class="sum_price settle_price"><input type="text" name="total_price" readonly class="total_price input3" placeholder="0"></span> 원</span>
            </ul>
<script>
function comma(str) {
    str = String(str);
    return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');
}
function uncomma(str) {
    str = String(str);
    return str.replace(/[^\d]+/g, '');
}
$(".qty").on('input', function () {
    var self = $(this);
    var unitVal = self.parent().next().children('.unit').val();
    self.parent().next().next().children('input').val(unitVal * self.val());
   fnAlltotal();
});
$(".unit").on('input', function () {
    var self = $(this);
    var qtyVal = self.parent().prev().children('.qty').val();
    self.parent().next().children('input').val(qtyVal * self.val());
  fnAlltotal();
});

function fnAlltotal(){
  
  var total=0
 
  var total_ea=0
  var total_percent=0
  var total_price=0
  var total_sale=0    
    $(".amount").each(function(){
         total += parseFloat($(this).val()||0);
    });
    $(".total_price").val(comma(total));
    $(".qty").each(function(){
         total_ea += parseFloat($(this).val()||0);
    });
    $(".total_ea").val(comma(total_ea));
    if (total_ea >= <?php echo $ev['ev_mini_ea'] ?> && total_ea < <?php echo $ev['ev_first_ea'] ?>) {
        total_percent += <?php echo $ev['ev_first_percent'] ?>;
    } else if (total_ea > <?php echo $ev['ev_first_ea'] ?> && total_ea < <?php echo $ev['ev_second_ea'] ?>) {
        total_percent += <?php echo $ev['ev_second_percent'] ?>;
    } else if (total_ea > <?php echo $ev['ev_second_ea'] ?>) {
        total_percent += <?php echo $ev['ev_third_percent'] ?>;
    } else {
        total_percent += <?php echo $ev['ev_first_percent'] ?>;
    }
    
    $(".total_percent").val(total_percent);
    //total_price += $(".result").val(total)-($(".result").val(total)*($(".total_percent").val(total_percent)/100));
    total_price += total-(total*(total_percent/100));
    $(".result").val(total_price);
    total_sale += total*(total_percent/100);
    $(".total_sale").val(total_sale);
}
</script>

위와 같이 jquery로 수식계산을 하는데 중요한건 세자리마다 콤마를 넣길원하는데 

총 상품금액은 $(".total_price").val(comma(total)); 와 같이 잘나옵니다. 그런데 소계와 상품가격도 콤마가 들어가야하는데 self.parent().next().next().children('input').val(unitVal * self.val()); 에서 self.parent().next().next().children('input').val(comma(unitVal * self.val())); 이런식으로 바꿔주면 소계에서 콤마가 잘나오지만 계산시 콤마가 들어가 합계에서 콤마 다음은 잘려서 나옵니다. uncomma를 계산 시 쓰면 되는것 같은데 아무리 해봐도 원하는 답이 안나오네요 ㅠ.ㅠ 아시는 분 있으시면 답변 부탁드리겠습니다. 감사합니다.

이 질문에 댓글 쓰기 :

답변 2

그누보드 스크립트 내장함수중에 number_format()이있습니다

이걸로 콤마 표현하시면되구요

 

var sub_total = unitVal * self.val()

self.parent().next().next().children('input').val(number_format(sub_total));

 

이런식으로 표현하면 되지않을까싶네요

 

fnAlltotal 안에서 계산할때 콤마를 붙어서 그런거처럼 보이는데요. 계산하기전에 콤마 떼고 계산 후에 콤마 붙이는 걸로 되지 않을까요?

 

$(".qty").on('input', function () {
    var self = $(this);
    var unitVal = self.parent().next().children('.unit').val();
    var totVal = unitVal * self.val();
    self.parent().next().next().children('input').val(totVal);
    fnAlltotal();
    self.parent().next().next().children('input').val(comma(totVal));
});

답변을 작성하시기 전에 로그인 해주세요.
전체 123,592 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT