답변:
$("#target").val($("#target option:first").val());
당신은 이것을 시도 할 수 있습니다
$("#target").prop("selectedIndex", 0);
$("#target").prop("selectedIndex", 0).change();
// 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');
each
함수가 있어야한다 : $('#target option[selected="selected"]').removeAttr('selected')
또한 지금 사용되어야 removeProp
하고 prop
대신.
사용할 때
$("#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");
내가 생각하는 하나의 미묘한 점 상단이 답변을 투표에 대해 내가 발견 한이 올바르게 선택된 값을 변경하더라도, 그들은 사용자들이 위젯을 클릭하는 경우에만 그들이 옆에 체크 표시됩니다 (보고하는 요소를 업데이트하지 않는 것이있는 업데이트 된 요소).
.change () 호출을 끝에 연결하면 UI 위젯도 업데이트됩니다.
$("#target").val($("#target option:first").val()).change();
(Chrome 데스크톱에서 jQuery Mobile과 상자를 사용하는 동안이를 알았으므로 모든 경우에 해당되지 않을 수 있습니다).
선택한 여러 요소에 대해 값을 재설정하는 다른 방법은 다음과 같습니다.
$("selector").each(function(){
/*Perform any check and validation if needed for each item */
/*Use "this" to handle the element in javascript or "$(this)" to handle the element with jquery */
this.selectedIndex=0;
});
$("selector")
당신은 방금 쓸 수있었습니다$('#target')
선택한 속성이 이미 있으면 attr selected 설정 만 작동하지 않는 것으로 나타났습니다. 지금 사용하는 코드는 먼저 선택한 속성을 설정 해제 한 다음 첫 번째 옵션을 선택합니다.
$('#target').removeAttr('selected').find('option:first').attr('selected', 'selected');
내가하는 방법은 다음과 같습니다.
$("#target option")
.removeAttr('selected')
.find(':first') // You can also use .find('[value=MyVal]')
.attr('selected','selected');
마지막에 트리거 ( 'change')를 사용하여 나에게만 효과가있었습니다.
$("#target option:first").attr('selected','selected').trigger('change');
.val()
하면 목록의 첫 번째 옵션 값만 가져옵니다. 원래 질문에서 요청한 것처럼 실제로 첫 번째 옵션을 선택 (선택)하지 않습니다.
ECMAScript 6 과 함께 jQuery를 사용 하여이 최선의 접근 방식을 확인하십시오 .
$('select').each((i, item) => {
var $item = $(item);
$item.val($item.find('option:first').val());
});
$('select#id').val($('#id option')[index].value)
바꾸기 ID 특정 select 태그의 ID와와 인덱스 선택하려는 특정 요소를.
즉
<select class="input-field" multiple="multiple" id="ddlState" name="ddlState">
<option value="AB">AB</option>
<option value="AK">AK</option>
<option value="AL">AL</option>
</select>
첫 번째 요소 선택을 위해 다음 코드를 사용합니다.
$('select#ddlState').val($('#ddlState option')[0].value)