checkbox 해제 이벤트는?

checkbox 해제 이벤트는?

QA

checkbox 해제 이벤트는?

본문

안녕하세요

 

http://eonplace.co.kr/sub/sub04_01.html?ptype=view&idx=5548&page=1&code=interior01&category=161

 

여기에서

 

인테리어 항목을 체크/해제하면 아래 합계금액이 바뀌게 해놓은건데요.

 

현재는 printVal() 이라는 함수로, 체크박스 체크하면 해당 value 를 hidden 인풋에 넣어놓고 있는데요.

 

 체크박스를 해제하면 hidden 인풋에 넣어진 값을 초기화를 해야하는데.. 그게 안되더라구요.

 

어떤 방법이 가장 좋을까요? 고견 부탁드립니다. ㅠ

 

 

//체크박스 선택/해제시 함수

function itemSum(frm)
{
   var sum = 0;
   var count = frm.chkbox.length;
   for(var i=0; i < count; i++ ){
       if( frm.chkbox[i].checked == true ){
        sum += parseInt(frm.chkbox[i].value);
       }
   }

    //frm.total_sum.value = sum;
    item_sum = sum;
    frm.total_sum.value=item_sum;
}

 

// 체크박스 선택시 함수 2번째

function printVal(vnum) {
    //alert('00');
    var vnum;
    if (vnum=='1') {
        frm.chk_val1.value = document.getElementById("chkbox1").value
 ...........중략 .....................

    } else if (vnum=='10') {
        frm.chk_val10.value = document.getElementById("chkbox10").value
    } else {
    }
}

이 질문에 댓글 쓰기 :

답변 2


 if (vnum=='1') {
   if(frm.chk_val1.checked === true){
        frm.chk_val1.value = document.getElementById("chkbox1").value
  }else{
        frm.chk_val2.value = ''
  }

이렇게 하면 될 것 같은데 소스가 길어지니까 for문을 사용하시거나 아니면 itemSum 을 수정하여 같이 처리하도록하는 것도 좋을 것 같습니다.

 

체크 해제할때 value = ""로 넣으면 빈값으로 바뀔텐데요

체크 해제한다는건.. 어떤 이벤트로 만들어야 할까요?

위에서는 그냥 for로 돌려서 해당 checkbox value만 합계하고 있는거구요

checkbox를 어떤걸 해제했다. 그때 이벤트는... ? 이런걸 어찌해야할지 모르겟네요 ;;

체크박스에 온클릭 이벤트 하나 만들어 넣으신다음
클릭됐을때 현재 체크박스의 상태가 체크상태인지 확인하고
체크가 해제됐다면 value를 비워주도록 함수를 하나 만드시면 됩니다

input type=checkbox onclick=chkval(this)

function chkval(el) {
  var s = el.checked;
  if(!s) {
    t.value = "";
  }
}

정확한 소스는 아니고 대충 이런 흐름입니다
코드는 구글에서 참고해보세요,,ㅋㅋ

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

회원로그인

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