* select 要素型 (HTML, XHTML 1)
[7] [[HTML]] の [DFN[[CODE(HTMLe)[select]] 要素]]は、
[DFN[メニュー制御子]]を作成します。
[8] 仕様書:
- [[HTML 4]]
-- menus
-- 17.6 The [CODE(HTMLe)[SELECT]], [CODE(HTMLe)[OPTGROUP]], and [CODE(HTMLe)[OPTION]] elements
[9]
: [[開始タグ]]: 必須
: [[終了タグ]]: 必須
: [[内容模型]]: [CODE(SGML)[([CODE(HTMLe)[[[optgroup]]]] | [CODE(HTMLe)[[[option]]]])*]]
: 出現できる文脈 : [CODE(SGML)[%[[formctrl]]]] な文脈
: [[属性]] :
,属性名,属性値,既定値,出典
,[CODE(HTMLa)[[[class]]]] ,,,[[級]] ,[HTML 4] %[[coreattrs]]
,[CODE(HTMLa)[[[dir]]]] ,,,[[書字方向]] ,[HTML 4] %[[i18n]]
,[CODE(HTMLa)[[[disabled]]]],([[真偽値属性]]),([[偽]]),無効,[HTML 4]
,[CODE(HTMLa)[[[id]]]] ,,,一意識別子 ,[HTML 4] %coreattrs
,[CODE(HTMLa)[[[lang]]]] ,,,[[自然言語]] ,[HTML 4] %i18n
,[CODE(HTMLa)[[[xml]]:lang]],,,自然言語 ,[XHTML 1]
,[CODE(HTMLa)[[[multiple]]]],([[真偽値属性]]),([[偽]]),複数選択可能,[HTML 4]
,[CODE(HTMLa)[[[name]]]],,,[[制御子名]],[HTML 4]
,[CODE(HTMLa)[[[onblur]]]],[CODE(SGML)[%[[Script]]]],,失焦点時,[HTML 4]
,[CODE(HTMLa)[[[onchange]]]],[CODE(SGML)[%[[Script]]]],,変更時,[HTML 4]
,[CODE(HTMLa)[[[onclick]]]] ,,, ,[HTML 4] %[[events]]
,[CODE(HTMLa)[[[ondblclick]]]],,, ,[HTML 4] %events
,[CODE(HTMLa)[[[onfocus]]]],[CODE(SGML)[%[[Script]]]],,得焦点時,[HTML 4]
,[CODE(HTMLa)[[[onkeydown]]]],,, ,[HTML 4] %events
,[CODE(HTMLa)[[[onkeypress]]]],,, ,[HTML 4] %events
,[CODE(HTMLa)[[[onkeyup]]]] ,,, ,[HTML 4] %events
,[CODE(HTMLa)[[[onmousedown]]]],,, ,[HTML 4] %events
,[CODE(HTMLa)[[[onmousemove]]]],,, ,[HTML 4] %events
,[CODE(HTMLa)[[[onmouseout]]]],,, ,[HTML 4] %events
,[CODE(HTMLa)[[[onmouseover]]]],,, ,[HTML 4] %events
,[CODE(HTMLa)[[[onmouseup]]]],,, ,[HTML 4] %events
,[CODE(HTMLa)[[[size]]]],[CODE(SGML)[[[NUMBER]]]],,列数,[HTML 4]
,[CODE(HTMLa)[[[style]]]] ,,,スタイル情報 ,[HTML 4] %coreattrs
,[CODE(HTMLa)[[[tabindex]]]],[CODE(SGML)[[[NUMBER]]]],,タブ順,[HTML 4]
,[CODE(HTMLa)[[[title]]]] ,,,注釈的題 ,[HTML 4] %coreattrs
[[#comment]]
** 内容
[5]
現代の HTML DTD では普通 [CODE(HTMLe)[select]] の[[内容模型]]は [CODE(SGML)[([CODE(HTMLe)[[[option]]]])*]] (や、それに加えて [CODE(HTMLe)[[[optgroup]]]]) となっているものです。つまり、[[要素内容]]のはずです。
ところが、 [[i-XHTML]] の解説
にある使用例では、 [CODE(HTMLe)[option]] 要素の外に [CODE(char)[[[IDEOGRAPHIC SPACE]]]]
が使用されています。さてどうしたことか。
- この例は、 copy & paste で使えるものではなく、
一度印刷してから再入力することを想定している(藁)。
- i-XHTML では、 [CODE(HTMLe)[select]] の内容模型は[[混合内容]]である。
- i-XHTML は [[XML]] ではないので、 [CODE(SGML)[[[s]]]] に
[CODE(char)[[ABBR[[[IDSP]]][IDEOGRAPHIC SPACE]]]] も含まれている。
- ただ単に、担当者がアフォなだけ。
正しいのはどれだ?
([[名無しさん]] [WEAK[2004-03-28 08:11:26 +00:00]])
[[#comment]]
** 実装
[4] [[NC]] は [CODE(HTMLe)[[[form]]]] 要素外の [CODE(HTMLe)[select]] 要素を、
地の文と同じようにレンダリングします。[WEAK[素直に表現すれば、[Q[対応していません]]。]]
[[#comment]]
** 不思議解釈
[1] [[不思議マーク付け]]で、 [[HP]]
の[[更新履歴]]や[[管理人]]の一言コメント的[[日記]]のようなものを書くための[[タグ]]。
ドロップダウン・リストとかで表示されるんだけど、その項目は頭に
[CODE(HTML)[<[CODE(HTMLe)[[[option]]]]>]] というタグを入れる。
[2] >>1 のような使い方は [[CSS]] + [[DOM]] で出来なくも無いけど、面倒だし、
[SAMP(CSS)[display: -x-pulldown-list]] みたいな指定が出来るといいよな。
[CODE(HTMLe)[select]] 要素とは関係ないけど、
[[マウス]]を乗せたらでてくるメニューとかもよくあるけど、そういうのも含めて、
従来の window system が持っていた色々な界面というか control というかを、
CSS で再現できて損はしないと思うのだ。 CSS3+ に期待。
[3] >>1 他には、当該 [[HP]] にある[[お部屋]]の一覧としても使われる。
関連付けられた [[JScript]] などの code の動作により、
項目を選択したらそのお部屋に瞬間移動出来る優れもの(藁。
[[#comment]]
** メモ
[[#comment]]
* メモ