[jquery] jQuery로 <select>의 첫 번째 옵션을 선택하는 방법

jQuery로 선택된 첫 번째 옵션을 어떻게 만듭니 까?

<select id="target">
  <option value="1">...</option>
  <option value="2">...</option>
</select>



답변

$("#target").val($("#target option:first").val());


답변

당신은 이것을 시도 할 수 있습니다

$("#target").prop("selectedIndex", 0);


답변

// remove "selected" from any options that might already be selected
$('#target option[selected="selected"]').each(
    function() {
        $(this).removeAttr('selected');
    }
);


// mark the first option as selected
$("#target option:first").attr('selected','selected');


답변

사용할 때

$("#target").val($("#target option:first").val());

첫 번째 옵션 값이 null 인 경우 Chrome 및 Safari에서 작동하지 않습니다.

나는 선호한다

$("#target option:first").attr('selected','selected');

모든 브라우저에서 작동 할 수 있기 때문입니다.


답변

선택 입력의 값을 변경하거나 선택한 속성을 조정하면 DOM 요소의 기본 selectedOptions 특성을 겹쳐 쓸 수 있으며, 이로 인해 reset 이벤트가 호출 된 양식에서 요소가 올바르게 재설정되지 않을 수 있습니다.

jQuery의 prop 메소드를 사용하여 필요한 옵션을 지우고 설정하십시오.

$("#target option:selected").prop("selected", false);
$("#target option:first").prop("selected", "selected");


답변

$("#target")[0].selectedIndex = 0;


답변

내가 생각하는 하나의 미묘한 점 상단이 답변을 투표에 대해 내가 발견 한이 올바르게 선택된 값을 변경하더라도, 그들은 사용자들이 위젯을 클릭하는 경우에만 그들이 옆에 체크 표시됩니다 (보고하는 요소를 업데이트하지 않는 것이있는 업데이트 된 요소).

.change () 호출을 끝에 연결하면 UI 위젯도 업데이트됩니다.

$("#target").val($("#target option:first").val()).change();

(Chrome 데스크톱에서 jQuery Mobile과 상자를 사용하는 동안이를 알았으므로 모든 경우에 해당되지 않을 수 있습니다).