고수님들 자바스크립트 합계 구하는거 질문드립니다

고수님들 자바스크립트 합계 구하는거 질문드립니다

QA

고수님들 자바스크립트 합계 구하는거 질문드립니다

본문

1번째 텍스트박스(result) 에는 체크 시 체크 되있는 값만 100#200#400# 이런식으로 이어붙이려 하고 
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이 두번 더해지면서 출력되요~
답변을 작성하시기 전에 로그인 해주세요.
전체 18
QA 내용 검색

회원로그인

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