체크박스 전체 선택, 전체 해제
웹 페이지를 만들다 보면 전체 체크 박스를 선택하거나 해제해야 하는 일이 은근히 많다. 상단의 체크박스를 누르면 거기에 맞춰서 전체 선택, 해제 되도록 처리해보자.
글번호 | 제목 | |
---|---|---|
1 | 피카츄 | |
2 | 라이츄 | |
3 | 파이리 | |
4 | 꼬부기 |
1 |
|
<script type="text/javascript">
function test(o) {
//클릭한 체크박스의 table에서 이름이 chk인 것을 찾고,
//현재 요소의 체크 상태를 찾은 대상에 적용
$(o).closest('table').find('[name=chk]').prop('checked', o.checked);
}
</script>
버튼으로 처리할 경우
다음과 같은 조건을 조건해야 한다.
- 하나라도 체크가 되어 있지 않다면 전체 체크되도록 해야함
- 모두 체크되어 있다면 다시 체크가 전부 해제되도록 해야함
이메일 수신 동의
문자 수신 동의
개인정보 동의
1 |
|
<script>
const $container = document.querySelector('.container');
const $inputs = [...$container.children];
const $agreeBtn = document.querySelector('.agree-btn');
$agreeBtn.onclick = () => {
if ($inputs.filter(input => input.checked).length === $inputs.length) {
$inputs.forEach(input => { input.checked = false; });
} else {
$inputs.forEach(input => {
input.checked = true;
});
}
};
</script>