“選択した”に表示できる値“オプションの属性”タグ?
質問
次のようなマークアップがあります:
<select>
<option selected="selected">Apple</option>
<option selected="">Orange</option>
</select>
この場合、「オレンジ」選択したアイテムとして表示されます。 selected
属性を空白にすると、その効果が元に戻ります。属性を単に除外せずにこれを記述する方法はありますか?
解決
異なるブラウザは、この属性を異なる方法で処理します。 MSDNドキュメント(Internet Explorer用)によると:
HTMLでアイテムを選択するには、そうではありません の値を設定するために必要 SELECTED属性をtrueに。単なる SELECTED属性セットの存在 その値は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一致で、先頭または末尾に空白がない値でなければなりません。
結論
以下は、有効、同等、真です:
<option selected />
<option selected="" />
<option selected="selected" />
<option selected="SeLeCtEd" />
以下は無効です:
<option selected="0" />
<option selected="1" />
<option selected="false" />
<option selected="true" />
false の唯一の有効な構文は、属性がないことです:
<option />
推奨事項
有効なXHTMLの作成を気にする場合は、 selected = quot; selected&quot;
を使用します。これは、&lt; option selected&gt;
が無効であり、他の選択肢は読みにくいためです。それ以外の場合は、短い&lt; option selected&gt;
を使用します。
XHTMLで選択した属性に許可される値は、「選択」のみですしたがって、マークアップをXHTMLに準拠させ、すべてのブラウザーで機能させるには、マークアップを選択しないようにするのが唯一の選択肢です
いいえ、選択された属性の存在は、それが選択されたアイテムであることをブラウザに伝えます。引用符内のすべては無視されます。
編集:(Javascriptを使用して)できることは、selected =&quot;&quot;を含むオプションタグを探し、選択した属性を削除することです。
HTMLでは(XHTMLとは対照的に)値がまったくない単純な selected
属性は正常に機能します。
<option selected>Apple</option>
<option>Orange</option>
XHTML(XHTML5を含む)では、値が必要です。この値も selected
にする必要があります:
<option selected="selected">Apple</option>
<option>Orange</option>
これはHTMLでも正常に機能します。
これは通常、(X)HTMLのブール値の場合です。それらをfalseに設定する方法は、それらを完全に省略することです。 true
および false
の値を設定することは可能ですが、標準ではありません。
オプションのリストでは、最初のオプションがデフォルトで選択されているため、この場合、これはまったく必要ないことに注意してください。
w3schools によれば、次のように設定する必要があります:selected =&quot;選択済み」。これにより、最初に選択されたオプションがわかり、後でスクリプトを使用して設定できます。
「選択」以外の有効な値はありません。その属性のため。 ( http://www.w3schools.com/TAGS/att_option_selected.asp )
JavaScriptからselectElement.selectedIndexプロパティを設定するか、属性を完全に削除することをお勧めします。