자바에서 자동 소계의 합계 자동입력 소스 문의
본문
여분필드를 이용하여 각 내용의 소계를 자동으로 계산하여 합계를 출력하고싶습니다.
자바에 대해서는 문외한이라 여러 선배님들의 코드를 보고 아래와 같이 작성했습니다.
한데 각 입력단계에서 소계까지는 자동으로 계산되는데 합계는 소계를 조금 건들어야 계산이 되더군요
아마 키보드 이벤트 때문일것같은데요 혹시 합계까지 자동으로 입력되는 방법이 있을지싶어 문의드립니다.
( 노가다 코드라 죄송합니다. ㅠㅠ)
<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>
답변을 작성하시기 전에 로그인 해주세요.