퍼블리싱/Javascript
checkbox-AllCheck(javascript)
리리히히
2021. 10. 10. 15:48
반응형
**HTML
<div class="checkbox-container">
<div>
<input type='checkbox' name='selectall' id="selectBtn" onclick='selectAll(this)' />
<label for="selectBtn">전체</label>
</div>
<div>
<input type='checkbox' name='selectBtn' id="selectBtn1" onclick='checkSelectAll()' />
<label for="selectBtn1">선택1</label>
</div>
<div>
<input type='checkbox' name='selectBtn' id="selectBtn2" onclick='checkSelectAll()' />
<label for="selectBtn2">선택2</label>
</div>
<div>
<input type='checkbox' name='selectBtn' id="selectBtn3" onclick='checkSelectAll()' />
<label for="selectBtn3">선택3</label>
</div>
</div>
**SCRIPT
function checkSelectAll() {
// 전체 체크박스
const checkboxes = document.querySelectorAll('input[name="selectBtn"]');
// 선택된 체크박스
const checked = document.querySelectorAll('input[name="selectBtn"]:checked');
// select all 체크박스
const selectAll = document.querySelector('input[name="selectall"]');
if (checkboxes.length === checked.length) {
selectAll.checked = true;
} else {
selectAll.checked = false;
}
}
function selectAll(selectAll) {
//또는 const checkboxes = document.getElementsByName('selectBtn');
const checkboxes = document.querySelectorAll('input[name="selectBtn"]');
checkboxes.forEach((checkbox) => {
checkbox.checked = selectAll.checked
})
}
반응형