현재 버전

체크박스 checkbox js 자바스크립트 javascript

자바스크립트 체크박스 하나만 선택



function checkOnlyOne(element, n, m) {
  const checkbox = document.querySelector("#add_exop"+m+" input[name='base']");

  checkbox.forEach((cb) => {
      cb.checked = false;
  })
	    	
  element.checked = true;	    	
}
<td><input type="checkbox" name="base" onclick="checkOnlyOne(this, 0, 0);"></td>



id가 add_exop인 div 안에 테이블이 있고, td 안에 name이 base 인 checkbox가 있습니다.

div마다 같은 구조의 테이블이 있어서 #add_exop input[name='base'] 이런식으로 불러오려는데,

input[name='base'] 만 불러오면 일단 동작은 되는데 div 후손으로 불러오면 forEach에서 함수가 아니라고 오류가 나오더라고요..


checkbox 값은 제대로 들어옵니다!

그냥 div의 후손선택자들을 불러오는건데 왜 안되는지 모르겠네요ㅜ

혹시 해결방법 아시는 분 있으실까요?


수정 이력

2021-03-29 17:59:38 에 아래 내용에서 변경 됨 #1
function checkOnlyOne(element, n, m) {
  const checkbox = document.querySelector("#add_exop"+m+" input[name='base']");

  checkbox.forEach((cb) => {
      cb.checked = false;
  })
	    	
  element.checked = true;	    	
}


<td><input type="checkbox" name="base" onclick="checkOnlyOne(this, 0, 0);"></td>



id가 add_exop인 div 안에 테이블이 있고, td 안에 name이 base 인 checkbox가 있습니다.

div마다 같은 구조의 테이블이 있어서 #add_exop input[name='base'] 이런식으로 불러오려는데,

input[name='base'] 만 불러오면 일단 동작은 되는데 div 후손으로 불러오면 forEach에서 함수가 아니라고 오류가 나오더라고요..


checkbox 값은 제대로 들어옵니다!

그냥 div의 후손선택자들을 불러오는건데 왜 안되는지 모르겠네요ㅜ

혹시 해결방법 아시는 분 있으실까요?