본문 바로가기
vita_Programing

javascript/jquery 다중 체크박스 값 가져오기

by lemonvita 2024. 5. 27.
728x90
반응형

 

 

자바스크립트/제이쿼리 다중 체크박스 값 가져오기

 

 

 

웹 개발을 하다 보면 사용자가 여러 항목을 선택할 수 있도록 다중 체크박스를 사용하는 경우가 많죠. 예를 들어, 사용자가 선호하는 관심사를 선택하게 하거나, 상품의 특성을 여러 가지 선택할 수 있도록 하는 경우가 있습니다. 이런 경우에는 사용자가 선택한 체크박스의 값을 효율적으로 가져오는 것이 중요합니다.

이번 글에서는 jQuery와 순수 JavaScript를 활용하여 다중 체크박스의 값을 가져오는 방법을 예제를 통해 자세히 살펴보겠습니다. 두 가지 방법 모두 웹 페이지에서 사용자가 선택한 값을 배열에 저장하고, 이를 문자열로 변환하여 화면에 표시하는 예제를 통해 쉽게 따라할 수 있도록 설명해 볼게요.

먼저 jQuery를 사용하는 방법부터 설명할텐데요,  jQuery는 간결하고 사용하기 편리한 라이브러리라서 많은 웹 개발자들이 선호하죠. DOM 조작, 이벤트 핸들링, 애니메이션 등을 쉽게 처리할 수 있어 특히 복잡한 작업을 간단한 코드로 해결할 수 있습니다.

반면, 순수 JavaScript는 라이브러리에 의존하지 않기 때문에 더욱 경량화된 코드를 작성할 수 있고, 브라우저 호환성 문제를 줄일 수 있습니다. 최근 몇 년간 JavaScript 자체가 크게 발전하면서, jQuery 없이도 충분히 간결하고 강력한 코드를 작성할 수 있게 되었죠.

이 글을 통해 각 방법의 장단점을 비교하고, 실제로 코드를 작성하는 과정을 상세히 설명하여 여러분이 필요한 상황에 맞는 방법을 선택할 수 있을 겁니다. 또한, 각 코드에 주석을 추가하여 각 부분이 어떤 역할을 하는지 쉽게 이해할 수 있도록 하였으니 초보자라 하더라도 무리 없이 따라할 수 있을 거예요.

 

728x90

 

javascript/jquery 다중 체크박스 값 가져오기

 

 

jQuery로 다중 체크박스 값 가져오기

 

HTML 코드

<!DOCTYPE html>
<html>
<head>
    <title>Checkbox 다중 선택 예제 - jquery활용</title>
    <!-- jQuery 라이브러리 로드 -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <form id="form1">
        <!-- 체크박스 요소들 -->
        <input type="checkbox" name="options" value="사과">사과<br>
        <input type="checkbox" name="options" value="딸기">딸기<br>
        <input type="checkbox" name="options" value="레몬">레몬<br>
        <input type="checkbox" name="options" value="키위">키위<br>
    </form>
    <!-- 값을 가져오는 버튼 -->
    <button id="getValues">선택값 보기</button>
    <!-- 결과를 표시할 영역 -->
    <div id="result"></div>

    <script>
        // 문서가 준비되면 실행
        $(document).ready(function(){
            // 버튼 클릭 이벤트 핸들러
            $("#getValues").click(function(){
                var selected = []; // 선택된 값을 저장할 배열
                // 체크된 체크박스를 찾고 그 값을 배열에 추가
                $('input[name="options"]:checked').each(function() {
                    selected.push($(this).val());
                });
                // 결과를 텍스트로 표시
                $("#result").text("선택한 값 : " + selected.join(", "));
            });
        });
    </script>
</body>
</html>

 

 

HTML 코드의 구조

  • 체크박스 그룹은 <form> 태그 안에 위치합니다.
  • name="options" 속성은 모든 체크박스가 동일한 이름을 공유하게 합니다.
  • id="getValues"를 가진 버튼은 클릭 시 체크박스 값을 가져오는 트리거 역할을 합니다.
  • id="result"를 가진 <div> 태그는 선택된 체크박스 값을 표시하는 영역입니다.

 

 

jQuery 코드

  • $(document).ready(function() {...});는 문서가 완전히 로드되었을 때 실행될 코드를 정의합니다.
  • $("#getValues").click(function() {...});는 버튼 클릭 이벤트를 처리합니다.
  • $('input[name="options"]:checked').each(function() {...});는 체크된 모든 체크박스를 찾습니다.
  • selected.push($(this).val());는 각 체크박스의 값을 배열에 추가합니다.
  • $("#result").text("Selected values: " + selected.join(", "));는 배열의 값을 문자열로 변환하여 결과를 표시합니다.

 

순수한 javascript로 다중 체크박스 값 가져오기

 

HTML 코드

<!DOCTYPE html>
<html>
<head>
    <title>Checkbox 다중 선택 예제-javascript 활용</title>
</head>
<body>
    <form id="form1">
        <!-- 체크박스 요소들 -->
        <input type="checkbox" name="options" value="사과">사과<br>
        <input type="checkbox" name="options" value="딸기">딸기<br>
        <input type="checkbox" name="options" value="레몬">레몬<br>
        <input type="checkbox" name="options" value="키위">키위<br>
    </form>
    <!-- 값을 가져오는 버튼 -->
    <button id="getValues">선택값 보기</button>
    <!-- 결과를 표시할 영역 -->
    <div id="result"></div>

    <script>
        // 버튼 클릭 이벤트 핸들러 추가
        document.getElementById("getValues").addEventListener("click", function() {
            var selected = []; // 선택된 값을 저장할 배열
            // 체크된 체크박스를 모두 선택
            var checkboxes = document.querySelectorAll('input[name="options"]:checked');
            // 각 체크박스의 값을 배열에 추가
            checkboxes.forEach(function(checkbox) {
                selected.push(checkbox.value);
            });
            // 결과를 텍스트로 표시
            document.getElementById("result").innerText = "선택한 값은 : " + selected.join(", ");
        });
    </script>
</body>
</html>

 

 

jQuery 코드

  • document.getElementById("getValues").addEventListener("click", function() {...});는 버튼 클릭 이벤트를 처리합니다.
  • var checkboxes = document.querySelectorAll('input[name="options"]:checked');는 체크된 모든 체크박스를 선택합니다.
  • checkboxes.forEach(function(checkbox) {...});는 선택된 체크박스들을 반복 처리합니다.
  • selected.push(checkbox.value);는 각 체크박스의 값을 배열에 추가합니다.
  • document.getElementById("result").innerText = "Selected values: " + selected.join(", ");는 배열의 값을 문자열로 변환하여 결과를 표시합니다.

 

 

실행결과

javascript/jquery 다중 체크박스 값 가져오기

728x90
반응형