source

옵션이 선택되었는지 확인하는 방법은 무엇입니까?

nicesource 2023. 8. 22. 22:12
반응형

옵션이 선택되었는지 확인하는 방법은 무엇입니까?

$('#mySelectBox option').each(function() {
    if ($(this).isChecked())
       alert('this option is selected');
     else
       alert('this is not');
});

아하니그, 보그▁apparent.isCheckedis▁?▁what작. 그래서 제 질문은 이것을 하는 인가 하는 것입니다.그래서 제 질문은 이것을 하는 적절한 방법이 무엇인가 하는 것입니다.감사해요.

갱신하다

선택한 옵션에 대한 보다 직접적인 jQuery 방법은 다음과 같습니다.

var selected_option = $('#mySelectBox option:selected');

.is(':selected')찾고 있는 것은 다음과 같습니다.

$('#mySelectBox option').each(function() {
    if($(this).is(':selected')) ...

비jQuery(best practice) 방법은 다음과 같습니다.

$('#mySelectBox option').each(function() {
    if(this.selected) ...

그러나 선택한 값을 찾고 있는 경우에는 다음을 시도합니다.

$('#mySelectBox').val()

선택한 값의 텍스트를 찾는 경우 다음을 수행합니다.

$('#mySelectBox option').filter(':selected').text();

체크아웃: http://api.jquery.com/selected-selector/

다음 번에는 중복된 SO 질문을 찾습니다.

jQuery에서 현재 선택한 옵션 가져오기 또는 선택한 옵션 설정 또는 $(이) 선택한 옵션을 가져오는 방법?또는 [selected=true] 옵션이 작동하지 않습니다.

다음과 같은 방법으로 선택한 옵션을 얻을 수 있습니다.

$('#mySelectBox option:selected')...

라이브 데모

그러나 모든 옵션을 반복하려면 다음을 사용합니다.this.selectedthis.isChecked존재하지 않는 것:

$('#mySelectBox option').each(function() {
    if (this.selected)
       alert('this option is selected');
     else
       alert('this is not');
});

라이브 데모

업데이트:

다음과 같은 방법을 사용할 것을 제안하는 답변이 많습니다.

$(this).is(':selected')음, 그것은 훨씬 더 빠르고 쉽게 이루어질 수 있습니다.this.selected그렇다면 왜 네이티브 DOM 요소 방법이 아닌 그것을 사용해야 합니까?!

에서 DOM 속성기능에 대해 알아보기jQuery info

jquery를 통해 이 방법을 사용할 수 있습니다.

$(document).ready(function(){
 $('#panel_master_user_job').change(function () {
 var job =  $('#panel_master_user_job').val();
 alert(job);
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="job" id="panel_master_user_job" class="form-control">
                                    <option value="master">Master</option>
                                    <option value="user">User</option>
                                    <option value="admin">Admin</option>
                                    <option value="custom">Custom</option>
                                </select>

만약 당신이 익숙치 않거나 익숙하지 않다면.is() 당은그냥가치확수있습니다인할를신▁of▁value▁check▁the다▁you의 값을 확인할 수 있습니다.prop("selected").

여기 보이는 것처럼:

$('#mySelectBox option').each(function() {
    if ($(this).prop("selected") == true) {
       // do something
    } else {
       // do something
    }
});​

편집:

@gdoron이 설명에서 지적했듯이, DOM 선택기를 통해 옵션의 선택된 속성에 더 빠르고 적합한 방법이 있습니다.다음은 이 작업을 표시하는 피들 업데이트입니다.

if (this.selected == true) {

역시 효과가 있는 것 같습니다!감사합니다.

사용하다

 $("#mySelectBox option:selected");

옵션인지 합니다.myoption:

 if($("#mySelectBox option:selected").text() == myoption){
          //...
 }

선택 목록으로 간주합니다.

<select onchange="var optionVal = $(this).find(':selected').val(); doSomething(optionVal)">

                                <option value="mostSeen">Most Seen</option>
                                <option value="newst">Newest</option>
                                <option value="mostSell">Most Sell</option>
                                <option value="mostCheap">Most Cheap</option>
                                <option value="mostExpensive">Most Expensive</option>

                            </select>

그런 다음 다음과 같이 선택한 옵션을 선택합니다.

function doSomething(param) {

    if ($(param.selected)) {
        alert(param + ' is selected!');
    }

}

특정 값에 대해 옵션 선택 상태를 확인해야 하는 경우:

$('#selectorId option[value=YOUR_VALUE]:selected')
$("#mySelectBox").attr("checked")
  ? alert("this option is selected")
  : alert("this is not");

이 경우 선택한 항목이 항상 참인 이유를 알 수 없습니다.그래서 제가 생각해 낼 수 있었던 유일한 방법은:

var optionSelected = false;
$( '#select_element option' ).each( function( i, el ) {
    var optionHTMLStr = el.outerHTML;

    if ( optionHTMLStr.indexOf( 'selected' ) > 0 ) {
        optionSelected = true;
        return false;
    }
});

옵션이 선택되었는지 여부만 확인하려는 경우 모든 옵션을 반복할 필요는 없습니다.그냥 해요

if($('#mySelectBox').val()){
    // do something
} else {
    // do something else
}

value수 있도록 을 고: value=0으로 .$('#mySelectBox').val() != null

Javascript를 통해 선택한 옵션을 확인하고자 하는 경우

가장 간단한 방법은 태그에 변경 속성을 추가하고 js 파일에 함수를 정의하는 것입니다. html 파일에 다음과 같은 옵션이 있는지 예를 참조하십시오.

 <select onchange="subjects(this.value)">
               <option>Select subject</option>
               <option value="Computer science">Computer science</option>
               <option value="Information Technolgy">Information Technolgy</option>
               <option value="Electronic Engineering">Electronic Engineering</option>
               <option value="Electrical Engineering">Electrical Engineering</option>
 </select>

그리고 이제 js 파일에 함수를 추가합니다.

function subjects(str){
    console.log(`selected option is ${str}`);
}

php 파일에서 선택한 옵션을 확인하려면

태그에 이름 속성을 지정하고 php 파일 글로벌 변수 /array($_GET 또는 $_POST)에 액세스하면 html 파일이 이와 같은 것인지 예를 볼 수 있습니다.

<form action="validation.php" method="POST">
             Subject:<br>
            <select name="subject">
               <option>Select subject</option>
               <option value="Computer science">Computer science</option>
               <option value="Information Technolgy">Information Technolgy</option>
               <option value="Electronic Engineering">Electronic Engineering</option>
               <option value="Electrical Engineering">Electrical Engineering</option>
            </select><br>

         </form>

그리고 당신의 php 파일 검증에서.php 당신은 이렇게 접근할 수 있습니다.

$subject = $_POST['subject'];
echo "selected option is $subject";
var selectedOption = $("option:selected", #selectIdentifier)

<select id="selectIdentifier">
<option>1</option>
<option>2</option>
<option selected="selected">3</option>
</select>

편집: 이 답변은 유효하며 jQuery의 종교적 전쟁을 피합니다.이 대답의 핵심은:selected실제 질문에 답하려면 OP가 날씨를 쿼리할 수 있도록 옵션 간에 약간의 차이를 만들어야 합니다. 특정 옵션이 선택됩니다.옵션 자체에 대한 예, 데이터-, 가치 등의 장식.

CSS에서 이중 속성 선택기를 수행할 수도 있습니다.

$('[value="your_value"][selected="selected"]')

따라서 "your_value"를 선택할 때 실행하려면:

if( $('[value="your_value"][selected="selected"]') ) {
  // do something
}

선택 여부를 값으로 확인할 수 있습니다.

var selected_option = $('#propertyArea option:selected').val();
        if(selected_option){
            console.log('selected ...');
            console.log(selected_option);
        }else{
            console.log('not selected');
        }

언급URL : https://stackoverflow.com/questions/10213620/how-to-check-if-an-option-is-selected

반응형