jQuery를 사용하여 드롭다운의 첫 번째 옵션 선택
 
이 자습서에서는 jQuery를 사용하여 select 태그의 첫 번째 옵션을 선택합니다. 원하는 기능을 구현하는 데 도움이 되는 다양한 jQuery 구현 전략을 살펴보겠습니다.
jQuery를 사용하여 <Select> 태그의 첫 번째 옵션 선택
    
드롭다운 메뉴와 목록은 웹 페이지에서 매우 친숙하고 편리합니다. 웹 사이트에 필터를 표시하는 데 도움이 될 수도 있고, 동일한 카테고리의 많은 페이지를 한 곳에 모두 표시하는 탐색 표시줄의 드롭다운 메뉴를 만드는 데 사용할 수도 있습니다.
웹 사이트에서 어떻게 활용하든지 특정 옵션을 미리 선택하고 싶을 때가 있으며 이것이 오늘 기사의 초점입니다. 이 기능을 구현하기 위해 jQuery를 사용하는 방법에 대해 이야기하겠습니다.
jQuery는 웹 페이지에서 JavaScript를 간단하게 활용할 수 있도록 만든 경량 JavaScript 라이브러리입니다. jQuery를 사용하여 <select> 태그의 첫 번째 옵션을 선택하는 다음 네 가지 방법에 대해 설명합니다.
- SelectedIndex속성
- .val()메소드
- .prop()메서드
- .attr방법
SelectedIndex 속성 사용
선택한 옵션의 인덱스는 HTML DOM의 selectedIndex 속성에 의해 드롭다운 목록에 설정되거나 반환됩니다. 인덱스는 0에서 시작합니다.
모든 옵션을 선택 해제하려면 -1 값을 입력하십시오. 사용자가 옵션을 선택하지 않으면 selectedIndex 속성은 -1을 반환합니다.
통사론:
- 
selectedIndex속성을 반환합니다.selectObject.selectedIndex
- 
selectedIndex속성을 설정합니다.selectObject.selectedIndex = 숫자
이 속성의 작동을 이해하려면 아래 예를 확인하십시오.
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
                $('#drop_down')[0].selectedIndex = 0;
            });
        </script>
    </head>
    <body>
        <select id="drop_down">
            <option>Value1</option>
            <option>Value2</option>
            <option>Value3</option>
        </select>
    </body>
</html>
출력:

코드에서 우리가 무엇을 했는지 봅시다. 첫 번째 옵션을 선택하려면 <select> 태그를 선택해야 합니다.
따라서 처음에는 id를 사용하여 요소를 선택합니다. jQuery 선택자 뒤에 [0]을 넣는 것이 혼란스러울 수 있습니다.
이를 이해하는 데 도움이 되도록 자세한 설명을 제공하겠습니다.
jQuery 선택기를 사용하여 특정 요소를 선택하면 선택한 항목의 배열이 제공됩니다. ID를 사용하고 있기 때문에 배열에는 인덱스 0에 있어야 하는 요소가 하나만 있습니다.
이 때문에 반환된 배열의 첫 번째 인덱스를 선택하기 위해 [0]을 씁니다.
필요한 요소가 선택되면 selectedIndex 속성을 호출하고 0 값을 할당합니다. 즉, 첫 번째 옵션을 선택합니다.
우리는 인덱스를 다루기 때문에 1이 아닌 0을 설정하고 인덱스는 0부터 시작하므로 0은 첫 번째 값을 의미하고 1은 두 번째 값을 의미합니다.
val() 메서드 사용
val() 메서드는 HTML 요소 값에 대한 작업을 구현합니다. 이 메소드를 사용하여 특정 요소의 값을 설정하거나 검색할 수 있습니다.
val() 메서드는 value 속성이 있는 HTML 요소에만 적용할 수 있습니다.
통사론:
- 
선택한 요소의 값을 반환합니다. $(선택기).val()
- 
선택한 요소의 값을 지정한 값으로 설정합니다. $(선택자).val(값)
- 
선택한 요소의 값을 설정하는 기능을 사용합니다. 지정된 경우 currentvalue는 요소의 값을 반환하고index매개변수는 요소의 인덱스를 반환합니다.$(selector).val(function(index, currentvalue))
val() 메서드를 사용하여 드롭다운 목록에서 첫 번째 항목을 선택합니다. 아래에서 해당 기능을 달성하는 데 도움이 되는 두 가지 전략을 살펴보십시오.
시나리오 1
위에서 설명한 구문을 사용하여 드롭다운 목록에서 첫 번째 또는 임의의 옵션을 선택할 수 있습니다. 우리는 $(selector).val(value)가 선택된 요소의 값을 설정하는 데 사용된다는 것을 알고 있으며 이 방법이 value 속성에서 작동한다는 것도 알고 있습니다.
따라서 먼저 select 요소에서 각 option 태그의 값을 설정한 다음 val() 메서드를 사용하여 필요한 옵션을 선택합니다.
이제 두 번째 옵션을 선택하겠습니다. 아래 코드를 확인하십시오.
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
                $('#drop_down').val("2");
            });
        </script>
    </head>
    <body>
        <select id="drop_down">
            <option value="1">Value1</option>
            <option value="2">Value2</option>
            <option value="3">Value3</option>
        </select>
    </body>
</html>
출력:

이것은 매우 간단합니다. value 필드의 option 태그에 값을 설정한 후 인수 값 2를 사용하여 val() 함수를 호출했습니다.
시나리오 2
첫 번째 옵션을 선택하는 또 다른 방법은 선택된 태그의 첫 번째 요소를 반환하는 jQuery의 .first() 메서드를 사용하는 것입니다. 보다 명확하게 이해하려면 아래 코드를 관찰하십시오.
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
               $("#drop_down").val($("#drop_down option").first().val());
            });
        </script>
    </head>
    <body>
        <select id="drop_down">
            <option value="1">Value1</option>
            <option value="2"selected>Value2</option>
            <option value="3">Value3</option>
        </select>
    </body>
</html>
출력:

이 접근 방식을 이해하는 데 도움이 되도록 태그에 선택됨을 작성하여 두 번째 옵션을 기본 선택 옵션으로 선택하고 jQuery를 사용하지 않는 경우 두 번째 옵션이 선택된 옵션으로 표시됩니다.
그러나 코드에 jQuery를 추가하고 선택한 요소의 option 태그에 .first() 메서드를 사용했습니다. 출력에서 볼 수 있듯이 첫 번째 옵션이 선택된 것으로 표시됩니다.
이전 버전의 jQuery에서는 이 .first() 메서드를 의사 선택기로 사용했으며 이를 사용하기 위해 $("#drop_down").val($("#drop_down option:first").val()), 그러나 이것은 최신 릴리스에서 더 이상 사용되지 않으며 이 방법을 사용하지 않는 것이 좋습니다.
prop() 메서드 사용
선택한 항목의 속성 및 값은 prop() 함수에 의해 설정되거나 반환됩니다. 이 기능을 사용하여 속성에 액세스할 수 있으므로 드롭다운 목록의 첫 번째 옵션을 쉽게 선택할 수 있습니다.
이 방법을 사용하여 필요한 기능을 구현하는 두 가지 방법에 대해 논의해 보겠습니다.
시나리오 1
우리는 prop() 메서드를 통해 요소의 속성에 액세스할 수 있다는 것을 알고 있습니다. 이 문서에서 필요한 옵션을 선택하기 위해 논의한 첫 번째 접근 방식은 selectedIndex 속성을 사용하는 것입니다.
prop() 메서드를 사용하여 해당 속성에 액세스할 수도 있습니다. 방법은 다음과 같습니다.
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
                $("#drop_down").prop("selectedIndex", 1)
            });
        </script>
    </head>
    <body>
        <select id="drop_down">
            <option>Value1</option>
            <option>Value2</option>
            <option>Value3</option>
        </select>
    </body>
</html>
출력:

코드는 매우 간단하고 이해하기 쉽습니다. 우리는 prop() 메서드에 인덱스 1을 선택하도록 지시했습니다. 이는 옵션 2가 선택될 것임을 나타냅니다.
시나리오 2
option 태그의 selected 속성에 액세스하는 것은 prop() 메서드를 사용하여 드롭다운 목록에서 필요한 옵션을 선택하는 또 다른 방법입니다. 특정 옵션이 기본적으로 선택되기를 원하는 경우가 많으므로 태그에 selected 속성을 추가하여 옵션이 선택되었음을 나타냅니다.
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
                $("#drop_down option").first().prop("selected", "true");
            });
        </script>
    </head>
    <body>
        <select id="drop_down">
            <option>Value1</option>
            <option>Value2</option>
            <option>Value3</option>
        </select>
    </body>
</html>
attr() 메소드 사용
attr() 메서드는 선택된 요소의 값과 속성을 설정하거나 반환하는 것을 목표로 합니다. 이 방법을 사용하여 목록에서 필요한 옵션을 쉽게 선택할 수 있습니다.
아래 나열된 두 가지 전략을 살펴보십시오.
시나리오 1
비활성화되지 않은 첫 번째 선택을 선택하고 첫 번째 옵션이더라도 비활성화된 옵션을 무시하려는 특정 상황에 대해 이야기해 봅시다. 필요한 기능을 구현하는 방법을 알아보려면 아래 코드를 검토하십시오.
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
               $("#drop_down option:not([disabled])").first().attr('selected','selected');
            });
        </script>
    </head>
    <body>
        <select id="drop_down" style="width:150px">
            <option selected disabled>Choose the Option</option>
            <option>Value1</option>
            <option>Value2</option>
            <option>Value3</option>
        </select>
    </body>
</html>
먼저 이 방법을 사용하지 않을 경우 출력이 어떻게 되는지 봅시다.

선택한 옵션이 첫 번째 옵션입니다. 비활성화되어 있어도 selected 속성을 설정하여 이 옵션을 선택된 것으로 표시할 수 있습니다.
이제 위에서 작성한 코드로 어떤 옵션이 선택되는지 봅시다.

놀랍죠? 사용 가능한 첫 번째 비활성화되지 않은 요소가 선택되고 selected 속성 값이 설정됩니다.
시나리오 2
또 다른 흥미로운 시나리오는 원하는 옵션을 선택하기 전에 선택한 option 태그를 제거하려는 경우입니다. 이는 일부 jQuery 메서드를 사용하여 신속하게 수행할 수 있습니다.
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
               $('#drop_down').removeAttr('selected').find('option:first').attr('selected', 'selected');
            });
        </script>
    </head>
    <body>
        <select id="drop_down">
            <option>Value1</option>
            <option>Value2</option>
            <option>Value3</option>
        </select>
    </body>
</html>
먼저 선택한 옵션을 제거하는 removeAttr() 메서드를 호출했습니다. 그런 다음 find() 메소드를 사용하여 첫 번째 옵션을 검색한 다음 selected 속성 값을 설정합니다.
여기서 한 가지 중요한 점은 코드에서 유사 선택자로 first()를 사용했다는 것입니다. 이미 이것이 더 이상 사용되지 않는다고 논의했습니다. 따라서 브라우저가 지원하지 않는 경우 $('#drop_down').removeAttr('selected').find('option').first().attr('selected', 'selected').