테스트 사이트 - 개발 중인 베타 버전입니다

콤마에 관해 질문있습니다. 채택완료

신비나라 5년 전 조회 1,379

</p>

<p>                    <?php 

                    for ($i=0; $row=sql_fetch_array($result); $i++) {

                    ?></p>

<p>                    <li class="cart_goods"></p>

<p>                        <div class="cart_goods_detail">                            </p>

<p>                            <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></p>

<p>                            <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></p>

<p>                            </div>

                        </div></p>

<p>                    </li></p>

<p>                    <?php

                    } // for 끝

                    ?></p>

<p><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></p>

<p><script>

function comma(str) {

    str = String(str);

    return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,');

}</p>

<p>function uncomma(str) {

    str = String(str);

    return str.replace(/[^\d]+/g, '');

}</p>

<p>$(".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();

});</p>

<p>$(".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();

});</p>

<p>

function fnAlltotal(){

  

  var total=0

 

  var total_ea=0

  var total_percent=0

  var total_price=0

  var total_sale=0    </p>

<p>    $(".amount").each(function(){

         total += parseFloat($(this).val()||0);

    });</p>

<p>    $(".total_price").val(comma(total));</p>

<p>    $(".qty").each(function(){

         total_ea += parseFloat($(this).val()||0);

    });</p>

<p>    $(".total_ea").val(comma(total_ea));</p>

<p>    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);</p>

<p>    //total_price += $(".result").val(total)-($(".result").val(total)*($(".total_percent").val(total_percent)/100));

    total_price += total-(total*(total_percent/100));</p>

<p>    $(".result").val(total_price);</p>

<p>    total_sale += total*(total_percent/100);</p>

<p>    $(".total_sale").val(total_sale);

}

</script></p>

<p>

위와 같이 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개

채택된 답변
+20 포인트
Policia
5년 전

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

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

 

var sub_total = unitVal * self.val()

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

 

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

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

신비나라
5년 전
네 그것도 해봤는데 총상금 금액에서 이전에 콤마로 합계가 나오다 보니 계산이 콤마 아래로는 안나오는거 였거든요 ㅠ.ㅠ

댓글을 작성하려면 로그인이 필요합니다.

sad4u
5년 전

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));
});

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

신비나라
5년 전
주신 서식으로 해봤지만 결과적으로는 총 상금금액에서 콤마 아래는 잘려서 나오네요 ㅠ.ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인