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

합계 구하기 도와 주세요^.^ 채택완료

채군 7년 전 조회 2,556

안녕하세요? 계산식을 이용해서 매장에서 사용하는 계산기를 만들어 보려 합니다

 

현재

</p>

<p><!-- 지출 -->

<script type="text/javascript"></p>

<p>        $(function () {

   $('.subtot, .grdtot').prop('readonly', true);

            var $tblrows = $("#tblProducts tbody tr");</p>

<p>            $tblrows.each(function (index) {

                var $tblrow = $(this);</p>

<p>                $tblrow.find('.qty, .price').on('change', function () {</p>

<p>                    var qty = $tblrow.find("[name=qty]").val();

                    var price = $tblrow.find("[name=price]").val();

                    var subTotal = parseInt(qty, 10) * parseFloat(price);</p>

<p>                    if (!isNaN(subTotal)) {</p>

<p>                        $tblrow.find('.subtot').val(subTotal.toFixed(0));

                       

                        var grandTotal = 0;</p>

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

                            var stval = parseFloat($(this).val());

                            grandTotal += isNaN(stval) ? 0 : stval;

                        });</p>

<p>                        $('.grdtot').val(number_format(grandTotal.toFixed(0)));

                    }

                });

            });

        });

    </script></p>

<p>

<div class="table-responsive">

    <table id="tblProducts" class="table table-striped">

    <thead>

        <tr style="text-align: center;">

        <td>구분</td>

        <td>금액</td>

        <td>수량</td>

        <td>합계</td>

        </tr>

    </thead>

    <tbody style="text-align: center;">

        <tr>

        <td>전기</td>

        <td><input type="text" class="qty" value="" name="qty"/></td>

        <td><input type="text" class="price" value="1" name="price"/></td>

        <td><input type="text" class="subtot" value="0" name="subtot"/></td>

        </tr>

       

        <tr>

        <td>가스</td>

        <td><input type="text" class="qty" value="" name="qty"/></td>

        <td><input type="text" class="price" value="1" name="price"/></td>

        <td><input type="text" class="subtot" value="0" name="subtot"/></td>

        </tr>

       

        <tr>

        <td>수도</td>

        <td><input type="text" class="qty" value="" name="qty"/></td>

        <td><input type="text" class="price" value="1" name="price"/></td>

        <td><input type="text" class="subtot" value="0" name="subtot"/></td>

        </tr>

   

   

        <tr>

        <td>인터넷</td>

        <td><input type="text" class="qty" value="" name="qty"/></td>

        <td><input type="text" class="price" value="1" name="price"/></td>

        <td><input type="text" class="subtot" value="0" name="subtot"/></td>

        </tr>

   

     <tr>

        <td>포스</td>

        <td><input type="text" class="qty" value="" name="qty"/></td>

        <td><input type="text" class="price" value="1" name="price"/></td>

        <td><input type="text" class="subtot" value="0" name="subtot"/></td>

        </tr>

   

     <tr>

        <td>정수기</td>

        <td><input type="text" class="qty" value="" name="qty"/></td>

        <td><input type="text" class="price" value="1" name="price"/></td>

        <td><input type="text" class="subtot" value="0" name="subtot"/></td>

        </tr>

   

   

    </tbody>

    <tfoot>

        <tr>

        <td></td>

        <td></td>

        <td></td>

        <td style="text-align: center;">   예상(지출):<p><input type="text" class="grdtot" value="" name=""/></td>

        </tr></p>

<p>    </tfoot>

    </table>   

</div></p>

<p>

<!-- 수입 -->

<script type="text/javascript"></p>

<p>        $(function () {

   $('.subtot1, .grdtot1').prop('readonly', true);

            var $tblrows = $("#tblProducts tbody tr");</p>

<p>            $tblrows.each(function (index) {

                var $tblrow = $(this);</p>

<p>                $tblrow.find('.qty1, .price1').on('change', function () {</p>

<p>                    var qty1 = $tblrow.find("[name=qty1]").val();

                    var price1 = $tblrow.find("[name=price1]").val();

                    var subTotal1 = parseInt(qty1, 10) * parseFloat(price1);</p>

<p>                    if (!isNaN(subTotal1)) {</p>

<p>                        $tblrow.find('.subtot1').val(subTotal1.toFixed(0));

                       

                        var grandTotal1 = 0;</p>

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

                            var stval = parseFloat($(this).val());

                            grandTotal1 += isNaN(stval) ? 0 : stval;

                        });</p>

<p>                        $('.grdtot1').val(number_format(grandTotal1.toFixed(0)));

                    }

                });

            });

        });

    </script></p>

<p>

<div class="table-responsive">

    <table id="tblProducts" class="table table-striped">

    <thead>

        <tr style="text-align: center;">

        <td>구분</td>

        <td>금액</td>

        <td>수량</td>

        <td>합계</td>

        </tr>

    </thead>

    <tbody style="text-align: center;">

        <tr>

        <td>전기</td>

        <td><input type="text" class="qty1" value="" name="qty1"/></td>

        <td><input type="text" class="price1" value="1" name="price1"/></td>

        <td><input type="text" class="subtot1" value="0" name="subtot1"/></td>

        </tr>

       

        <tr>

        <td>가스</td>

        <td><input type="text" class="qty1" value="" name="qty1"/></td>

        <td><input type="text" class="price1" value="1" name="price1"/></td>

        <td><input type="text" class="subtot1" value="0" name="subtot1"/></td>

        </tr>

       

        <tr>

        <td>수도</td>

        <td><input type="text" class="qty1" value="" name="qty1"/></td>

        <td><input type="text" class="price1" value="1" name="price1"/></td>

        <td><input type="text" class="subtot1" value="0" name="subtot1"/></td>

        </tr>

   

   

        <tr>

        <td>인터넷</td>

        <td><input type="text" class="qty1" value="" name="qty1"/></td>

        <td><input type="text" class="price1" value="1" name="price1"/></td>

        <td><input type="text" class="subtot1" value="0" name="subtot1"/></td>

        </tr>

   

     <tr>

        <td>포스</td>

        <td><input type="text" class="qty1" value="" name="qty1"/></td>

        <td><input type="text" class="price1" value="1" name="price1"/></td>

        <td><input type="text" class="subtot1" value="0" name="subtot1"/></td>

        </tr>

   

     <tr>

        <td>정수기</td>

        <td><input type="text" class="qty1" value="" name="qty1"/></td>

        <td><input type="text" class="price1" value="1" name="price1"/></td>

        <td><input type="text" class="subtot1" value="0" name="subtot1"/></td>

        </tr>

   

   

    </tbody>

    <tfoot>

        <tr>

        <td></td>

        <td></td>

        <td></td>

        <td style="text-align: center;">   예상(수입):<p><input type="text" class="grdtot1" value="" name=""/></td>

        </tr></p>

<p>    </tfoot>

    </table>   

</div></p>

<p><!--전체--></p>

<p>

 

이렇게 구성을 하여 수입 부분과 지출 부분을 입력받게 만들어 보았습니다~

 

질문1 : 예상(수입) - 예상(지출) 값 구하기

질문2: 금액 x 수량 값을 구하는 부분에서

금액을 100원 입략하고 수량 1개를 입력하면 결과값이 100이 나옵니다

그런데 문제는 100원을 지우면 값이 그대로 100으로 남아 있습니다.

0을 입력 하면 값이 0으로 돌아 옵니다...

 

이부분을 입력값이 없을때 자동으로  값에 반영을 시키려면?

 

 

 

도와 주세요^.^

 

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

답변 2개

채택된 답변
+20 포인트

답변에 대한 댓글 6개

채군
7년 전
하루종일 이거때문에 끙끙 했는데~~ 덕분에 ~ 해결 하였습니다~~
너무 너무 감사드립니다~~^.^ 편안한 저녁 보내세요~~~
채군
7년 전
혹시? 저장하기 기능을 의뢰 드리면 비용이 얼마나 나올까요?
슈와이
7년 전
디자인(html코딩) 이 다 되어있다면 5만원이하가 되지 않을까 생각합니다.

의뢰는 제작의뢰를 이용하시면 됩니다.
https://sir.kr/request
채군
7년 전
제가 오전에 쪽지보내 드렸습니다~ 확인 한번 부탁드립니다~~

그리구 개발자 님께서 만들어 주신

http://shuai0.dothome.co.kr/demo/calc.php

소스를 제가 사용 해도 될까요?
슈와이
7년 전
사용하셔도 됩니다.
급한게 아니면 직접 구현해 보셔도 됩니다.

하다가 안되면 제작의뢰에 올리시면 됩니다.
전 sir 에서 제작의뢰는 하지 않습니다.
실력자분들 많으니 제작의뢰에 올리면 잘 해결될 겁니다.
채군
7년 전
감사합니다~~~^.^

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

o
7년 전

결과를 보여줍니다

<div id="margin"></div>

 

스크립트 상단하단 

 

</p>

<p>//결과 계산 margin 계산

 function grand_margin(){

    var grdtot=$(".grdtot").val();

    var grdtot1=$(".grdtot1").val();

    var margin=0;

    if(!isNaN(grdtot) && !isNaN(grdtot1)){

        margin=parseFloat(grdtot1)-parseFloat(grdtot);    

    }

    jQuery("#margin").empty().append(number_format(magin.toFixed(0)))

  }</p>

<p>

 $(function () {

   $('.subtot, .grdtot').prop('readonly', true);

            var $tblrows = $("#tblProducts tbody tr");

            $tblrows.each(function (index) {

                var $tblrow = $(this);

                $tblrow.find('.qty, .price').on('change', function () {

                    var qty = $tblrow.find("[name=qty]").val();

                    var price = $tblrow.find("[name=price]").val();

                    var subTotal = parseInt(qty, 10) * parseFloat(price);

                    if (!isNaN(subTotal)) {//2번문제

                        $tblrow.find('.subtot').val(subTotal.toFixed(0));

                      }

              else{

            $tblrow.find('.subtot').val(0);

              }

                        var grandTotal = 0;

                        $(".subtot").each(function () {

                            var stval = parseFloat($(this).val());

                            grandTotal += isNaN(stval) ? 0 : stval;

                        });

                        $('.grdtot').val(number_format(grandTotal.toFixed(0)));

                    }

            grand_margin();//1번문제

                    

        

        });

            });

        });</p>

<p> 


하단 스크립트도 금액부분과 마진 검색

 

</p>

<p> </p>

<p>        $(function () {

   $('.subtot1, .grdtot1').prop('readonly', true);

            var $tblrows = $("#tblProducts tbody tr");

            $tblrows.each(function (index) {

                var $tblrow = $(this);

                $tblrow.find('.qty1, .price1').on('change', function () {

                    var qty1 = $tblrow.find("[name=qty1]").val();

                    var price1 = $tblrow.find("[name=price1]").val();

                    var subTotal1 = parseInt(qty1, 10) * parseFloat(price1);

                    if (!isNaN(subTotal1)) {//2번문제

                        $tblrow.find('.subtot1').val(subTotal1.toFixed(0));

                     }

             else{

            $tblrow.find('.subtot1').val(0);

             }

                        var grandTotal1 = 0;

                        $(".subtot1").each(function () {

                            var stval = parseFloat($(this).val());

                            grandTotal1 += isNaN(stval) ? 0 : stval;

                        });

                        $('.grdtot1').val(number_format(grandTotal1.toFixed(0)));

                    }

            grand_margin();//1번문제

                });

            });

        });</p>

<p> </p>

<p>

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

답변에 대한 댓글 1개

채군
7년 전
도와 주셔서 너무 너무 감사 합니다~~~^.^ 편안한 저녁 보내세요~~

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

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

로그인