javascript checkbox select all 전체 체크/해제

javascript checkbox

이번 강좌에서는 javascript checkbox 컨트롤에 대해서 알아보겠습니다.

체크박스 전체 컨트롤

웹사이트 메뉴를 선택할 때 체크 기능을 많이 사용하는데요. 메뉴 한개당 하나의 checkbox가 필요하지만 전체 메뉴를 체크하거나 해제할 경우 이를 지원할 select all 기능이 필요합니다.

그래서 체크박스 전체선택과 전체해제 기능을 구현해야 하는데요. 이 기능을 javascript를 통해서 한번 구현해 보겠습니다.

javascript checkbox

checkbox 전체 선택

<script type="text/javascript">

function check(count) {    // count : 체크박스의 갯수
	
	for(var n=1; n<=count; n++){
		var fname = 'c'+n; // c1,c2,c3 를 변수에 저장
			
		if(document.checkform.chkAll.checked){  
			//맨위의 체크박스가 체크될 경우
			document.getElementById(fname).checked=true;
			//id가 c1,c2,c3인 체크박스를 모두 체크
		}else{
			document.getElementById(fname).checked=false;
			//모두 c1,c2,c3언체크
		}
	}
}
</script>
<body>
<form name="checkform">
<input type="checkbox" id="chkAll" onclick="check(3)"><br> 
<input type="checkbox" id="c1">로또<br>       
<input type="checkbox" id="c2">1등<br>
<input type="checkbox" id="c3">되고싶다<br>
</form>

</body>

실행 화면


로또
1등
되고싶다

위의 체크박스 전체선택 예제는 위의 소스를 구현하여 만든 예제입니다.

한번 테스트 해보시기 바랍니다.

개발 Tip

또한, onclick 이벤트시에 펑션에 넘겨지는 숫자 3은 예제에서는 하드코딩으로 입력해 놓았지만 정상적으로 하려면 파라미터로 받은 데이터 리스트의 갯수를 넣어서 적용하셔야 합니다. 즉, 게시판으로 예를 들면 DB에서 select 게시글의 갯수 나타내는 데이터의 size나 length의 값을 넣으시면 됩니다.

이렇게 javascript checkbox 전체선택 및 해제 방법에 대해서 알아보았는데요. 많이 쓰이는 기능이니 반드시 기억해 두시기 바랍니다.


답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.