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 = ""로 넣으면 빈값으로 바뀔텐데요