자바에서 자동 소계의 합계 자동입력 소스 문의

자바에서 자동 소계의 합계 자동입력 소스 문의

QA

자바에서 자동 소계의 합계 자동입력 소스 문의

본문

여분필드를 이용하여 각 내용의 소계를 자동으로 계산하여 합계를 출력하고싶습니다.

자바에 대해서는 문외한이라 여러 선배님들의 코드를 보고 아래와 같이 작성했습니다.

 

한데 각 입력단계에서 소계까지는 자동으로 계산되는데 합계는 소계를 조금 건들어야 계산이 되더군요

아마 키보드 이벤트 때문일것같은데요 혹시 합계까지 자동으로 입력되는 방법이 있을지싶어 문의드립니다.

( 노가다 코드라 죄송합니다. ㅠㅠ)

 


<script>
$(document).ready(function() {
    $('.sum_11').change(function(evt) {
        var sum11 = 0;
        $('.sum_11').each(function(){
               sum11 += +$(this).val()  ;
         });
         $('input[name=wr_193]').val(Math.round(sum11));
    });
    $('.sum_12').change(function(evt) {
        var sum12 = 0;
        $('.sum_12').each(function(){
               sum12 += +$(this).val()  ;
         });
         $('input[name=wr_196]').val(Math.round(sum12));
    });
    $('.sum_13').change(function(evt) {
        var sum13 = 0;
        $('.sum_13').each(function(){
               sum13 += +$(this).val()  ;
         });
         $('input[name=wr_197]').val(Math.round(sum13));
    });
});
</script>
1군: <input type="number" name="wr_191" id="wr_191" value="<?php echo $write['wr_191']; ?>" size="50" maxlength="20" class="sum_11" min="1" max="5" ><br>
2군: <input type="number" name="wr_192" id="wr_192" value="<?php echo $write['wr_192']; ?>" size="50" maxlength="20" class="sum_11" min="1" max="5" ><br>
소계: <input type="number" name="wr_193" id="wr_193" value="<?php echo $write['wr_193']; ?>" size="50" maxlength="20" class="sum_13" ><br>
<br>
3군: <input type="number" name="wr_194" id="wr_194" value="<?php echo $write['wr_194']; ?>" size="50" maxlength="20" class="sum_12" min="1" max="5" ><br>
4군: <input type="number" name="wr_195" id="wr_195" value="<?php echo $write['wr_195']; ?>" size="50" maxlength="20" class="sum_12" min="1" max="5" ><br>
소계: <input type="number" name="wr_196" id="wr_196" value="<?php echo $write['wr_196']; ?>" size="50" maxlength="20" class="sum_13" ><br>
<br>
합계 : <input type="number" name="wr_197" id="wr_197" value="<?php echo $write['wr_197']; ?>" size="50" maxlength="20" readonly ><br>

 

이 질문에 댓글 쓰기 :

답변 1

change를 keyup으로 바꾸시면....


<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
$(document).ready(function() {
    var sum13 = 0;
    $('.sum_11').keyup(function(evt) {
        var sum11 = 0;
        $('.sum_11').each(function(){
               sum11 += +$(this).val()  ;
         });
         $('input[name=wr_193]').val(Math.round(sum11));
         $('input[name=wr_197]').val(Math.round($('input[name=wr_193]').val()) + Math.round($('input[name=wr_196]').val()));
    });
    $('.sum_12').keyup(function(evt) {
        var sum12 = 0;
        $('.sum_12').each(function(){
               sum12 += +$(this).val()  ;
         });
         $('input[name=wr_196]').val(Math.round(sum12));
         $('input[name=wr_197]').val(Math.round($('input[name=wr_193]').val()) + Math.round($('input[name=wr_196]').val()));
    });
});
</script>
1군: <input type="number" name="wr_191" id="wr_191" value="<?php echo $write['wr_191']; ?>" size="50" maxlength="20" class="sum_11" min="1" max="5" ><br>
2군: <input type="number" name="wr_192" id="wr_192" value="<?php echo $write['wr_192']; ?>" size="50" maxlength="20" class="sum_11" min="1" max="5" ><br>
소계: <input type="number" name="wr_193" id="wr_193" value="<?php echo $write['wr_193']; ?>" size="50" maxlength="20" class="sum_13" ><br>
<br>
3군: <input type="number" name="wr_194" id="wr_194" value="<?php echo $write['wr_194']; ?>" size="50" maxlength="20" class="sum_12" min="1" max="5" ><br>
4군: <input type="number" name="wr_195" id="wr_195" value="<?php echo $write['wr_195']; ?>" size="50" maxlength="20" class="sum_12" min="1" max="5" ><br>
소계: <input type="number" name="wr_196" id="wr_196" value="<?php echo $write['wr_196']; ?>" size="50" maxlength="20" class="sum_13" ><br>
<br>
합계 : <input type="number" name="wr_197" id="wr_197" value="<?php echo $write['wr_197']; ?>" size="50" maxlength="20" readonly ><br>

답변 감사드립니다.
소스를 적용해서 테스트 해봤는데요 코드 수정해주신것에 keyup은 좀 이상하게 작동해서(값 저장안됨) 혹시나해서 change로 바꿔봤는데 제대로 동작하네요... 정말감사합니다.
편안한 밤 보내세요

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

회원로그인

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