고수님들 자바스크립트 합계 구하는거 질문드립니다
본문
1번째 텍스트박스(result) 에는 체크 시 체크 되있는 값만 100#200#400# 이런식으로 이어붙이려 하고
2번째 텍스트박스(hap) 에는 체크 시 인자 n 을 합친값을 넣으려고 하는데
1번째 박스에는 제대로 입력이 되는데
2번째 박스 인자값의 합은 제대로 입력이 안됩니다..입력은 되는거 같은데 합계가 틀리게 입력됩니다.
조언좀 부탁드려요!!
2번째 텍스트박스(hap) 에는 체크 시 인자 n 을 합친값을 넣으려고 하는데
1번째 박스에는 제대로 입력이 되는데
2번째 박스 인자값의 합은 제대로 입력이 안됩니다..입력은 되는거 같은데 합계가 틀리게 입력됩니다.
조언좀 부탁드려요!!
<script type="text/javascript">
function gogo(n){
var frm = document.form1;
var chk = document.getElementsByName("chk[]");
var count = chk.length;
var sum = 0;
var res = "";
for(var i=0; i<count; i++){
if(chk[i].checked == true){
res += chk[i].value + "#";
sum += parseInt(n);
}
}
frm.result.value = res;
frm.hap.value = sum;
}
</script>
<form name="form1">
<input type="checkbox" name="chk[]" value="100" onclick="gogo('1000')">1
<input type="checkbox" name="chk[]" value="200" onclick="gogo('80000')">2
<input type="checkbox" name="chk[]" value="300" onclick="gogo('9000')">3
<input type="checkbox" name="chk[]" value="400" onclick="gogo('5000')">4
<input type="text" name="result" value="">
<input type="text" name="hap" value="">
</form>
답변 2
gogo(n)<-- 이것의 n 값을 더하니 당연히 그렇게 되겠죠
방법은 여러가지겟지만 아래처럼 하면..
var gogoarr=new Array(1000,80000,9000,5000);
function gogo(n){ //n은 안쓰임
~
sum += gogoarr[i];
체크박스에 체크를 하면 그 체크박스의 인자가 체크된 체크박스의 수 만큼 더해지면서 출력되요~
그러니까 첫번째를 클릭해서 1000이 출력되고 두번째를 클릭하면 1000이랑 80000이 더해지는게 아니라
인자값 80000이 두번 더해지면서 출력되요~
답변을 작성하시기 전에 로그인 해주세요.