소스 참고해서 만들고 있는데...
2줄은 했습니다.
이런 식으로 20행을 해야 하는데..
스크립트 엄청 길어질거 같은데..
줄일 수 있을련지요,,,
그리고 가로 합계금액은 class로 지정하고
맨밑에 all_total로 총계를 뽑고 싶은데...자바 class부분은
어떻게 처리해야 할지요,,
<script language='javascript'>
function sum(){
var f1_1 = document.getElementById('f1_1');
var f1_2 = document.getElementById('f1_2');
var f1_3 = document.getElementById('f1_3');
var f1_4 = document.getElementById('f1_4');
f1_4.value = Number(f1_1.value)*Number(f1_2.value)+Number(f1_3.value);
var f2_1 = document.getElementById('f2_1');
var f2_2 = document.getElementById('f2_2');
var f2_3 = document.getElementById('f2_3');
var f2_4 = document.getElementById('f2_4');
f2_4.value = Number(f2_1.value)*Number(f2_2.value)+Number(f2_3.value);
total.value = Number(f1_4.value)+Number(f2_4.value);
}
</script>
<INPUT id=f1_1 onkeyup="sum();">
<INPUT id=f1_2 onkeyup="sum();">
<INPUT id=f1_3 onkeyup="sum();">
<INPUT id=f1_4 clase=total><br>
<INPUT id=f2_1 onkeyup="sum();">
<INPUT id=f2_2 onkeyup="sum();">
<INPUT id=f2_3 onkeyup="sum();">
<INPUT id=f2_4 clase=total>
답변 3개 / 댓글 7개
<script language='javascript'> function sum(n) { var t = 0; for(i=1; i<4; i++) { t = t + Number(document.getElementById("f" + n + "_" + i).value); } document.getElementById("f" + n + "_4").value = t;}</script> <INPUT id=f1_1 onkeyup="sum(1);"> <INPUT id=f1_2 onkeyup="sum(1);"> <INPUT id=f1_3 onkeyup="sum(1);"> <INPUT id=f1_4 name=total><br><INPUT id=f2_1 onkeyup="sum(2);"> <INPUT id=f2_2 onkeyup="sum(2);"> <INPUT id=f2_3 onkeyup="sum(2);"> <INPUT id=f2_4 name=total>
jquery로 처리하면 훨씬 간단하게 될 것 같은데 javascript로만 하셔서...
답변에 대한 댓글 5개
function sum(n) {
var t = new Array();
for(i=1; i<4; i++) {
t.push(Number(document.getElementById("f" + n + "_" + i).value));
}
document.getElementById("f" + n + "_4").value = (t[0] * t[1]) + t[2];
}
[/code]
아 무조건 덧셈인 줄 알았네요.
저렇게 바꾸시면 됩니다.
염치없지만
<INPUT id=f1_4 name=total>
이부분들의 총계 all_total이 나오게 하는거 좀 부탁드려볼 수 있을까요,,
제 실력으로는 어려워서요,,,
이거 함수 안에 추가하시고
<input type="text" name="all_total">
이건 제일 하단에 추가
잘됩니다. 감사합니다.
좋은 하루 되세요,,
복받으실거에요~
감사합니다.
<script language='javascript'> function sum(num){ var f1_1 = document.getElementById('f'+num+'_1'); var f1_2 = document.getElementById('f'+num+'_2'); var f1_3 = document.getElementById('f'+num+'_3'); var f1_4 = document.getElementById('f'+num+'_4'); f1_4.value = Number(f1_1.value)*Number(f1_2.value)+Number(f1_3.value); var total.value = 0; $('.total').each(function() { total.value += Number($(this).val()); });} </script> <INPUT id=f1_1 onkeyup="sum(1);"><INPUT id=f1_2 onkeyup="sum(1);"> <INPUT id=f1_3 onkeyup="sum(1);"> <INPUT id=f1_4 class="total" clase=total c><br> <INPUT id=f2_1 onkeyup="sum(2);"><INPUT id=f2_2 onkeyup="sum(2);"> <INPUT id=f2_3 onkeyup="sum(2);"> <INPUT id=f2_4 class="total" clase=total></script> <INPUT id=f1_1 onkeyup="sum(1);"> <INPUT id=f1_2 onkeyup="sum(1);"> <INPUT id=f1_3 onkeyup="sum(1);"> <INPUT id=f1_4 clase=total><br> <INPUT id=f2_1 onkeyup="sum(2);"> <INPUT id=f2_2 onkeyup="sum(2);"> <INPUT id=f2_3 onkeyup="sum(2);"> <INPUT id=f2_4 clase=total>
답변에 대한 댓글 1개
앞에 f1부터 f20까지를 변수로 받아 처리하면 되지 않을까 싶습니다.
일일이 다 변수를 입력받아 처리하려면 코드가 길어질수 밖에 없는거라서요
일단 다 반영하고 submit 할때 total 변수를 한번에 적용해 주게 되면 할때마다 계산해 주면 되지 않을까 합니다.
일일이 total의 합산값을 보여줄 필요가 없다면요
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
1과2를 곱한뒤에 3은 더해야 하는데
이경우 어디를 고쳐야 하는지요,
그리고
각 total이 나오면
맨밑에 all_total 을 내고 싶은데..도와주십시오.
늘 맨입으로 받아먹어서 죄송스러워요,,,