1

私が知っているすべてのブラウザでは、最初のオプションが以下の HTML でデフォルトで選択されています。

<select>
  <option>foo</option>
  <option>bar</option>
</select>

しかし、私はこの行動を当てにできますか?または、それが最初のオプションであっても、デフォルト値を明示的に指定する方が良い方法でしょうか。

<select>
  <option selected>foo</option>
  <option>bar</option>
</select>
4

3 に答える 3

1

HTML(5) 仕様では、selected属性が存在しない場合、デフォルトで選択されるオプションが最初のオプションであるとは述べていません。

オプション要素の選択性はブール値の状態で、最初は false です。特に指定されていない限り、要素が選択された属性を持っている場合、要素の作成時にその選択性を true に設定する必要があります。option 要素の selected 属性が追加されるたびに、その selectedness を true に設定する必要があります。

ただし、値が存在しない場合は、デフォルトでselected選択値 -1 を返す必要があります。

selectedIndex IDL 属性は、取得時に、selectedness が true に設定されているツリー オーダーのオプション リスト内の最初のオプション要素のインデックスを返す必要があります (存在する場合)。存在しない場合は、-1 を返す必要があります。

したがって、最初のオプションが常にデフォルトとして選択されると想定すべきではないと思います。

于 2013-03-14T15:06:54.613 に答える
0

関係ないと思います。上部にデフォルト値がない場合のみです。「選択済み」は、デフォルトのオプションを変更する場合です。上に持っていなければ。

このような:

<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="vw">VW</option>
  <option value="audi" selected>Audi</option>
</select>
于 2013-03-14T14:20:58.327 に答える