[jquery] 선택 옵션 ‘selected’를 값으로 설정

select몇 가지 옵션 이있는 필드가 있습니다. 이제 optionsjQuery 를 사용하는 제품 중 하나를 선택해야합니다 . 하지만 어떻게 난 단지 것을 알 수 있습니까 때 valueoption선택해야합니다 것을?

다음 HTML이 있습니다.

<div class="id_100">
  <select>
    <option value="val1">Val 1</option>
    <option value="val2">Val 2</option>
    <option value="val3">Val 3</option>
  </select>
</div>

value 옵션을 선택해야합니다 val2. 이것을 어떻게 할 수 있습니까?

데모 페이지는 다음과 같습니다.
http://jsfiddle.net/9Stxb/



답변

옵션 태그를 사용하지 않아도되는 더 쉬운 방법이 있습니다.

$("div.id_100 select").val("val2");

jQuery 메소드를 확인하십시오 .


답변

값이 ‘val2’인 옵션을 선택하려면 다음을 수행하십시오.

$('.id_100 option[value=val2]').attr('selected','selected');


답변

change()값을 선택한 후 이벤트를 사용하십시오 . 문서에서 :

내용을 변경하지 않고 필드에서 포커스를 잃으면 이벤트가 트리거되지 않습니다. 이벤트를 수동으로 트리거하려면 .change()인수없이 적용하십시오 .

$("#select_id").val("val2").change();

자세한 내용은 .change ()에 있습니다.


답변

먼저 모든 선택을 해제하고 선택 가능한 옵션을 필터링하십시오.

$('.id_100 option')
     .removeAttr('selected')
     .filter('[value=val1]')
         .attr('selected', true)


답변

<select name="contribution_status_id" id="contribution_status_id" class="form-select">
    <option value="1">Completed</option>
    <option value="2">Pending</option>
    <option value="3">Cancelled</option>
    <option value="4">Failed</option>
    <option value="5">In Progress</option>
    <option value="6">Overdue</option>
    <option value="7">Refunded</option>

값으로 보류 상태로 설정

   $('#contribution_status_id').val("2");


답변

나에게 다음은 일을했다.

$("div.id_100").val("val2").change();


답변

가장 쉬운 방법은 val ()을 선택하는 것이라고 생각하지만 다음을 확인할 수 있습니다. jQuery에서 선택 및 옵션 태그를 처리하는 방법을 참조하십시오 . 옵션에 대한 자세한 내용은.

$('div.id_100  option[value="val2"]').prop("selected", true);

$('id_100').val('val2');

최적화되지는 않았지만 다음 로직도 일부 경우에 유용합니다.

$('.id_100 option').each(function() {
    if($(this).val() == 'val2') {
        $(this).prop("selected", true);
    }
});