메뉴 건너뛰기

조회 수 516 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

체크박스나 라디오등을 제어하다보면 jQuery에 의존해서 많이 사용하게 되는데 순수 javascript만의 힘으로 제어하는 방법을 알아보겠습니다.

 

생각보다 사용법이 jQuery와 많이 다르지 않으며 비슷하기에 어렵지 않을 것입니다.

무엇보다도 추가적으로 라이브러리(jQuery)가 필요하지 않기에 빠르기도하고 간단하게 데이터를 확인할 수 있습니다.

 

 

체크박스의 체크 유무

먼저 체크박스값에 체크가 되어있는지 확인해보겠습니다.

.checked 를 통해 체크 유무를 검사할 수 있습니다.

 

html

<input type="checkbox" name="test1" value="test1">TEST1

 

js

var chk = document.querySelector("input[name=test1]").checked;
console.log(chk);

 

결과

 

체크가 해제되어있으면 false
체크되어 있다면 true

 

 


체크된 체크박스의 값 가져오기

이번에는 취미생활에 체크된 데이터의 value를 가져와 보겠습니다.

 

hobby.html

<form>
    <input type="checkbox" name="hobby" value="music">음악감상
    <input type="checkbox" name="hobby" value="game">게임
    <input type="checkbox" name="hobby" value="travel">여행
    <input type="checkbox" name="hobby" value="soccer">축구
    <input type="checkbox" name="hobby" value="reading">독서
    <input type="checkbox" name="hobby" value="cooking">요리
</form>

 

hobby.js

var chkList = document.querySelectorAll("input[name=hobby]:checked");
chkList.forEach(function (ch) {
    console.log(ch.value);
});

 

결과

 

 

querySelectorAll을 활용하여 name속성이 hobby인 데이터 중에 :checked속성이 있는 데이터만 추출하여 chkList에 담아두었습니다.

 

해당부분을 특정 배열에 push하여 담아도 되고, 문자열에 붙여서 처리하면 될 것 같습니다.


모든 체크박스 선택하기

게시판이나 여러 형태를 작성하다보면 특정값이 모두 선택되게 해야하는 경우가 있습니다.

change 이벤트를 추가하여 제어해보겠습니다.

 

 

결과

 

전체선택

 

hobbyAll의 요소를 선택하여 change 이벤트가 발생하게 되면

name값이 hobby인 데이터를 모두 찾아 속성값을 전체선택된 데이터값으로 변경처리를 해줍니다.


List of Articles
번호 제목 날짜 조회 수
207 금액에 점찍고 한글 표시하기 2019.01.16 1281
206 체크박스 전체 선택 및 해제, 반드시 1개 이상 선택 강제 2019.01.16 1322
205 div태그를 이용한 클릭시 레이어 띄우기 2019.01.16 1355
204 오늘 날짜 구하기 2018.11.07 1444
203 opener 값전달, 함수실행.(자식창에서 부모창으로 값전달, 함수실행) 2021.03.26 1461
202 span - 동적으로 글자 바꾸기, 보이기 안보이기 2019.01.16 1463
201 == / === / != / !== 차이 2018.11.07 1468
200 엔터키 / enter key submit form 2018.09.28 1552
199 날짜 계산 (Date) 마지막 날짜(말일)/윤달/윤년 처리하기 2021.08.20 1585
198 cross site scripting을 막기위한...javascript 2018.07.24 1615
197 특정 부분 인쇄 자바스크립트 2019.01.16 1616
196 key pressing 누르거나 클릭중인 이벤트 예제 2018.08.29 1641
195 시간 계산하기 (시/분/초/ 더하기, 빼기) 2021.08.20 1738
194 팝업창 차단 "허용 메시지" 2018.09.28 1751
193 jQuery 엘리먼트 선택 2018.10.27 1754
192 문자열 안에 쌍따옴표, 홑따옴표 표시하는 3가지 방법 file 2021.08.20 1825
191 반복문 사용할때 태그 식별하기 data-item 2018.07.04 1866
190 자바스크립트 urlencode(), urldecode(), rawurlencode(), rawurldecode() 2018.10.27 1933
189 텍스트박스 입력제한(숫자,영문,한글,특수기호) 2019.01.16 2009
188 Javascript - 화면 캡처 후 서버에 저장하기(html2canvas 사용법, 주의사항) file 2021.03.09 2214
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved