select

1. 基本情報

説明 選択型入力項目を提供する
語源 SELECT
所属モジュール Forms
所属コンテントセット Formctrl
内容 optgroup, option
内容の書式 ( optgroup | option )+
関連項目 なし
公式な実装 DTD

2. 属性

2-1. 一般属性

属性 属性値の型 説明
Common [属性コレクション]

XHTMLの要素が大抵持っている、一般的な属性を集めたコレクションです。

2-2. 固有属性

属性 属性値の型 説明
name CDATA

コントロールの名前を指定します。ラジオボタンやチェックボックスでは、同一フォーム内で値を重複させる事がままあります。

size Number (CDATA)

行数を指定します。2以上でリストボックスになり、1でドロップダウンリストになります。

multiple [選択]

リストボックス型の場合(size属性が2以上の時)、複数選択を可能にするかどうか指定します。

  • multiple - 複数選択を可能にします。
disabled [選択]

使用不可にするかどうか指定します。

  • disabled - 使用不可(選択不可及び入力不可)にします。
onfocus Script (CDATA)

フォーカスを得た時に実行するスクリプトを記述します。

onblur Script (CDATA)

フォーカスを失った時に実行するスクリプトを記述します。

onchange Script (CDATA)

入力内容が変更された時でフォーカスを失った時に実行するスクリプトを記述します。

tabindex Number (CDATA)

タブインデックスを指定します。通常、Tabが押されるとユーザーエージェントはリンクを最初から順番に辿っていきますが、この属性で明示的に指定する事ができます。

3. 解説

3-1. 概要

select要素は、選択型のコントロールです。イメージとしては、ul要素をコントロールにした感じでしょうか。XHTML 1.1に存在する選択型のコントロールとしては、他にinput要素のチェックボックス、ラジオボタン、送信ボタン、button要素の送信ボタンなどがありますが、どれを使うかは好みの問題でしょう(勿論送信ボタンは一つの選択しかできませんが)。

select要素を使うと、他のコントロールと比べて、階層構造を作るのが楽になります。また、選択肢のラベルとコントロールを結びつけるのにlabel要素も要らない為、手間も若干軽減されるでしょう。

3-2. 使用例

最も基本的なselect要素の使い方は、option要素を幾つか持たせる事です。optgroup要素を使う場合でもそうですが、最低一つは子に持たなくてはなりません

[プログラムコード開始]

<select name="prefecture" size="1">
<option value="tokyo" selected="selected">東京都</option>
<option value="osaka">大阪府</option>
<option value="kyoto">京都府</option>
</select>

[プログラムコード終了]

上記のように、選択肢のラベルを内容で、値をvalue属性で指定するのが一般的です。また、option要素の内何れか一つにselected属性を持たせておくと良いでしょう。何れのoption要素selected属性を持っていないと、ユーザーエージェントによっては規定とは異なる挙動をします。

select要素のsize属性は、メニューの行数を指定します。1の場合ドロップダウンリスト (通常は1行だが、必要に応じて展開される)に、2以上の場合リストボックス (初めから展開されている)になる事が期待できます。選択肢の数が行数より多ければスクロールするリストボックスになるでしょう。

[プログラムコード開始]

<select name="goal" size="3" multiple="multiple">
<option label="草津">kusatsu</option>
<option label="熱海">atami</option>
<option label="別府" selected="selected">beppu</option>
<option label="湯布院" selected="selected">yuhuin</option>
<option label="登別">noboribetsu</option>
</select>

[プログラムコード終了]

上記の例では、size="3"に加えてmultiple属性が付いています。これにより、ユーザはShiftCtrlなどで複数の選択肢を選べるようになります。また、提供側では複数のoption要素selected属性で選択済みにできます。

また、option要素の形も異なっています。最初の例ではラベルを内容として記述し、値をvalue属性で指定しましたが、今度はその逆をやっています。しかし、この方法は仕様ばかりで実装はされていないようです。

[select]
Published : 2006-03-26T09:00:00+09:00
Last Modified : 2007-07-27T17:40:27+09:00
Table of Contents : 要素目次
Index : 要素索引
Verified with : Valid XHTML 1.1
Copyright © 2006 - 2007  E+X.