문제

다음과 비슷한 마크 업이 있습니다.

<select>
  <option selected="selected">Apple</option>
  <option selected="">Orange</option>
</select>

이 경우 "Orange"는 선택한 항목으로 표시됩니다. 나는 그것을 만들 것으로 예상했을 것이다 selected 속성 Blank는 그 효과를 취소합니다. 속성을 단순히 남기지 않고 이것을 작성하는 방법이 있습니까?

도움이 되었습니까?

해결책

다른 브라우저는이 속성을 다르게 취급 할 수 있습니다. MSDN 문서 (Internet Explorer)에 따르면 :

HTML에서 항목을 선택하려면 선택한 속성의 값을 true로 설정할 필요가 없습니다. 선택된 속성의 존재만으로도 그 값을 true로 설정합니다.

Firefox와 Safari에서는 다음과 같습니다.

<option selected='false' />

HTML4의 공식 WC3 표준을 살펴보면서 알 수있는 것에서 지원되는 사례는 다음과 같습니다.

<option selected='selected' />

속성을 선택적으로 방출하거나 JavaScript를 사용하여 처음 선택한 항목을 제어해야합니다.

다른 팁

HTML5 사양

https://www.w3.org/tr/html51/sec-forms.html#the-option-element

선택한 내용 속성은 부울 속성입니다.

http://www.w3.org/tr/html5/infrastructure.html#boolean-attributes :

요소에 부울 속성의 존재는 실제 값을 나타내며, 속성의 부재는 잘못된 값을 나타냅니다.

속성이있는 경우, 그 값은 빈 문자열이거나 속성의 표준 이름에 대한 ASCII Case-Insensitive 일치 인 값이어야하며,이를 선도하거나 후행 공백이없는 값이어야합니다.

결론

다음은 다음과 같습니다 유효하고 동등하며 참:

<option selected />
<option selected="" />
<option selected="selected" />
<option selected="SeLeCtEd" />

다음은 다음과 같습니다 유효하지 않은:

<option selected="0" />
<option selected="1" />
<option selected="false" />
<option selected="true" />

속성의 부재는 유일한 유효한 구문입니다. 거짓:

<option />

추천

유효한 XHTML을 작성하는 데 관심이있는 경우 사용하십시오 selected="selected", 부터 <option selected> 유효하지 않으며 다른 대안은 읽기 쉽지 않습니다. 그렇지 않으면 사용하십시오 <option selected> 짧아서.

XHTML에서 선택한 속성에 대한 유일한 허용 값은 "선택된"따라서 마크 업이 XHTML을 준수하고 모든 브라우저에서 작동하기를 원한다면 선택하지 않은 유일한 선택입니다.

아니, 선택한 속성의 존재는 브라우저에 선택한 항목임을 알려줍니다. 따옴표 내부의 모든 것은 무시됩니다.

편집 : (JavaScript와 함께) 할 수있는 일은 선택한 = "" "인 옵션 태그를 찾고 선택한 속성을 제거하는 것입니다.

html에서 (xhtml과 반대로) 단순 selected 값이 전혀없는 속성은 잘 작동합니다.

<option selected>Apple</option>
<option>Orange</option>

xhtml (xhtml5 포함)에서는 값이 필요합니다. selected:

<option selected="selected">Apple</option>
<option>Orange</option>

이것은 HTML에서도 잘 작동합니다.

이것은 일반적으로 (x) html의 부울 값의 경우입니다. 그것들을 거짓으로 설정하는 방법은 그것들을 완전히 생략하는 것입니다. 설정 값 true 그리고 false 효과가 있지만 비표준입니다.

옵션 목록의 경우 첫 번째는 기본적으로 선택 되므로이 경우 전혀 필요하지 않습니다.

에 따르면 W3Schools, 당신은 그것을 다음과 같이 설정해야합니다 : selected = "selected". 이것은 처음에 어떤 옵션을 선택했는지 알려주고 나중에 스크립트를 통해 설정할 수 있습니다.

해당 속성에 대해 "선택한"외에 다른 유효한 값은 없습니다. (http://www.w3schools.com/tags/att_option_selected.asp)

JavaScript에서 SelectElement.SelectedIndex 속성을 설정하거나 속성을 모두 제거하는 것이 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top