시스템아 미안해

checkbox 체크 해제 가능 + 하나만 체크 본문

web/javascript

checkbox 체크 해제 가능 + 하나만 체크

if else 2023. 4. 11. 16:00
function checkRmnType(elem){
	
	let rmnTypes = document.querySelectorAll(`input[type=checkbox]`);
		
 	if(elem.checked == true){
		rmnTypes.forEach(rmnType => {
			rmnType.checked = rmnType.value == elem.value ? true : false; 
		});
		selectedRmnCode = elem.value; 
 	}else{
		selectedRmnCode = -1; 
 	}
}

checkbox의 onclick event attribute에서 호출되는 함수이며, 인자로 this element 전체를 가져온다. 

이 함수를 호출하는 checkbox는 같은 분류의 checkbox이기에, 전부 forEach를 타서 한꺼번에 처리한다. 

만약 API로 checked된 value를 넘기고 싶다면, checked == true의 조건문에서 전역변수에 elem.value를 할당하면 된다. 

전역변수의 default값은 -1이다.