· FRONT-END/└ JS
[ JavaScript ] 체크박스 제어
감자도리22
2024. 5. 16. 22:46
환경 : Visual Studio Code
[ 주요 코드 ]
<script type="text/javascript">
function test01() {
var target = document.querySelector(".ckbox");
console.log(target);
console.log(target.checked); //체크 여부 검사
}
function test02() {
//모든 item을 체크하도록 설정
var targetList = document.querySelectorAll(".item");
for(var i=0; i < targetList.length; i++) {
targetList[i].checked = true;
}
}
</script>
(+) target이 checkbox일 경우 checked라는 속성이 존재
- true일 경우 체크된 상태이고, false일 경우 체크해제된 상태
(+) targetList.checked = true; //말 안되는 코드
targetList[0].checked = true; //말 되는 코드
(+) var targetList = document.querySelectorAll(".item"); // item 클래스를 가진 모든 태그를 가져오게 됨(배열!)
[ 전체 코드 ]
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Javascript 예제</title>
<!-- 구글 폰트 -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap" rel="stylesheet">
<!-- 내가 구현할 스타일 -->
<link rel="stylesheet" type="text/css" href="../css/commons.css">
<link rel="stylesheet" type="text/css" href="../css/test.css">
<!-- font awesome 아이콘 CDN -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
<style>
</style>
<!-- javascript를 의도적으로 head 자리에 배치해서 가장 먼저 실행되도록 구현 -->
<script type="text/javascript">
function test01() {
var target = document.querySelector(".ckbox");
console.log(target);
/*
target이 checkbox일 경우 checked라는 속성이 존재한다
- true일 경우 체크된 상태이고, false일 경우 체크해제된 상태이다
*/
console.log(target.checked);
}
function test02() {
//모든 item을 체크하도록 설정
var targetList = document.querySelectorAll(".item");
// targetList.checked = true; //말 안되는 코드
//targetList[0].checked = true; //말 되는 코드
for(var i=0; i < targetList.length; i++) {
targetList[i].checked = true;
}
}
</script>
</head>
<body>
<div class="container w-500">
<div class="cell center">
<h1>체크박스 다루기</h1>
</div>
<div class="cell">
<input type="checkbox" class="ckbox" oninput="test01();" checked>
테스트 항목
</div>
<div class="cell">
<button class="btn positive" onclick="test02();">전체선택</button>
</div>
<div class="cell">
<div><input type="checkbox" class="item"> 항목1</div>
<div><input type="checkbox" class="item"> 항목2</div>
<div><input type="checkbox" class="item"> 항목3</div>
<div><input type="checkbox" class="item"> 항목4</div>
<div><input type="checkbox" class="item"> 항목5</div>
</div>
</div>
</body>
</html>
개인 공부 기록용입니다:)
728x90