2016-08-30 4 views
2

jQuery로 내 드롭 다운 값을 변경하고 싶습니다. 다음 JS와선택한 속성이 내 선택 개체 내에서 설정되지 않았습니다

<select id="id145" name="id145" class="dropdown" > 
    <option selected="selected" value="0">1 - test</option> 
    <option value="1">2 - test</option> 
</select> 

: 나는 다음과 같은 코드를 사용

$('[name=id145] option').filter(function() { 
    return ($(this).val() == '1'); 
}).prop('selected', true); 

내 드롭 다운에서 값 1 볼 (2 - 테스트)을 선택하지만 소스 코드를 볼 때마다, 인스펙터 도구를 사용하여, 나는 아직도이를 참조하십시오

:

내가 볼 것으로 예상하고, 발생하지 않습니다 무엇
<option selected="selected" value="0">1 - test</option> 
<option value="1">2 - test</option> 

이있다 0

<option value="0">1 - test</option> 
<option selected="selected" value="1">2 - test</option> 

이유를 아는 사람이 있습니까? 그리고 이것은 심지어 가능합니까?

DEMO HERE

+0

사이드 노트 : 대신 속성을 검사해야 당신은 선택의 값을 설정할 수 있습니다 ** 많이 ** 단순히'select' 요소 자체에'val'를 사용하여 더 –

+0

@TJCrowder 크롬이나 파이어 폭스의 개발자 도구라도 jQuery를 사용할 때 여전히'selected = selected' 속성이 표시되지 않습니다. 특정 값을 선택하십시오 – Rotan075

+1

죄송합니다. "소스보기"가 나를 속이며 '선택'을보고 있다는 것을 기억하지 못했습니다. –

답변

0

당신은 여전히 ​​첫 번째 옵션이 아닌 초에 selected="selected"을보고있는 심지어 DOM 속성을 사용하여 (예를 들어, 선택을 마우스 오른쪽 버튼으로 클릭하고 "요소 검사"를 선택)라고했습니다. (그리고 나는 그 확인할 수 있습니다 내가 너무 않습니다.)

selected 속성이 기본 상태 option를 설정; 반드시 현재 상태를 반영하지는 않습니다. the specification :

selected 속성은 부울 속성입니다. 그것은 요소의 기본값 인을 나타냅니다.

(내 강조) 당신에게 현재 상태가 아닌 속성을 알려줍니다

요소의 selected속성입니다. input 요소의 value 속성 (현재 값이 아닌 기본값 인)도 마찬가지입니다. 해당 select 상자가 form에 있고 양식에서 reset을 호출 한 경우 첫 번째 옵션이 선택 상자의 기본값이기 때문에 다시 선택됩니다.

옵션이 인지 여부를 알고 싶다면 현재이 선택되어 있습니다. 해당 정보는 속성 수준에서 사용할 수 없습니다.

$('[name=id145]').val('1'); 
 
$("[name=id145] option").each(function() { 
 
    console.log("Option " + this.value + ": Selected? " + this.selected); // or $(this).prop("selected") 
 
});
<select id="id145" name="id145" class="dropdown" > 
 
    <option selected="selected" value="0">1 - test</option> 
 
    <option value="1">2 - test</option> 
 
</select> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+1

아 사실입니다. 그것은 나를 혼란스럽게 만든다. 선택한 값이 기본 상태입니다. 말 되네. 설명해 주셔서 감사합니다. – Rotan075

관련 문제