この要素は、一つ以上の項目を選択できる項目のリストを作成するために使用します。listbox は複数のコラムを含みます。ここには listbox 内の項目を取得、変更することができる数多くのメソッドがあります。
リスト内に表示する行数の指定は rows
属性を使用します。追加の行はスクロールバーを使用して見ることができます。listbox には listitem
要素が含まれます。listbox 内の各 rows はすべて同じ高さになり、リスト内で最も高い項目と同じ高さに揃います。高さが変わる行を持つリストやテキストではないコンテンツを持つリストを作成したいときは、代わりに richlistbox
要素を使用してください。
詳しい情報は List Controls をご覧ください。
- プロパティ
- accessibleType, currentIndex, currentItem, disabled, disableKeyNavigation, itemCount, listBoxObject, selectedCount, selectedIndex, selectedItem, selectedItems, selType, suppressOnSelect, tabIndex, value
- メソッド
- addItemToSelection, appendItem, clearSelection, ensureElementIsVisible, ensureIndexIsVisible, getIndexOfFirstVisibleRow, getIndexOfItem, getItemAtIndex, getNumberofVisibleRows, getRowCount, getSelectedItem, insertItemAt, invertSelection, moveByOffset, removeItemAt, removeItemFromSelection, scrollToIndex, selectAll, selectItem, selectItemRange, timedSelect, toggleItemSelection
例
<listbox id="theList"> <listitem label="Ruby"/> <listitem label="Emerald"/> <listitem label="Sapphire" selected="true"/> <listitem label="Diamond"/> </listbox>
属性
-
disabled
- 型: 論理型
-
要素が無効化されているかどうかを示します。ある要素が
true
に設定されていたら、その要素は無効化されています。無効化された要素は通常グレイ表示のテキストで描画されます。要素が無効化されていると、ユーザのアクションには応答せず、フォーカスもあてられず、command
イベントも発生しません。
-
preference
- 型: 要素の id
- 要素を対応する
preference
につなぎます。この属性はprefwindow
内で使用された場合のみ効果があります。preference の値は、要素のvalue
プロパティと一致するように更新されます。
-
rows
- 型: 整数型
- 要素内に表示する行数。要素がこの数値よりも多くの行を含むときはスクロールバーが現れます。要素内の実際の rows の値を取得するには
getRowCount
メソッドを使用してください。
- {{ XULAttr("seltype") }}
- 型: 下記の値のいずれか一つ
- 複数の選択を許可するかどうかを指示します。
single
: 一度に一行だけが選択できます。(listbox
のデフォルト値)multiple
: 一度に複数行が選択できます。(tree
のデフォルト値)
tree 要素ではさらに、
cell
: 個々のセルが選択できます。text
: 行が選択されたとき、最初の列のテキストのみが強調表示されます。
-
suppressonselect
- 型: 論理型
- この属性が指定されていないときは、ユーザや select メソッドの呼び出しによって項目が選択されるたびに select イベントが発生します。
true
に設定すると select イベントは発生しません。
-
tabindex
- 型: 整数型
- 要素のタブの順番。タブの順番は
tab
キーが押下されたときにフォーカスが移動する順番です。より大きなtabindex
の値をもつ要素は、タブの遷移が後になります。
-
value
- 型: 文字列型
- 文字列の属性はデータ値を要素に関連付けます。特定の目的のために使われるわけではありませんが、スクリプトからあなた自身の用途のためにアクセスできます。
プロパティ
-
accessibleType
- 型: 整数型
- 要素の accessibility オブジェクトの種類を示す値。
-
currentIndex
- 型: 整数型
- 現在フォーカスされた list 内の項目の index を設定します。フォーカスされた項目がない場合、値は
-1
になります。一つの項目のみを選択する list では、現在の index は常に選択された index と同じになります。複数の項目を選択する list では、Ctrl キーを押下しながらカーソルキーで移動することによって、選択を変更せずに、現在フォーカスされた行がユーザによって変更されます。
-
currentItem
- 型: listitem 要素
- リストボックス内の最後に選択された項目を返します。これは複数の項目を選択するリストボックスで役立ちます。
-
itemCount
- 型: 整数型
- 子項目の数を保持する読み取り専用のプロパティ。
-
listBoxObject
- 型: nsIListBoxObject
- リストボックスの背後の
nsIListBoxObject
。このプロパティは読み取り専用です。リストボックスの機能のほとんどがlistbox
内で直接利用可能なため、このボックスオブジェクトを直接使用する必要はありません。
-
selectedCount
- 型: 整数型
- 現在選択されている項目の数を返します。
-
selectedIndex
- 型: 整数型
- 選択された項目の index を返します。また、このプロパティに index を設定して項目を選択する事もできます。このプロパティに
-1
を設定すると、項目の選択をすべて解除します。
-
selectedItem
- 型: 要素
- 選択できる要素がある要素の、現在選択されている項目を保持します。項目が選択されていないときは、この値は
null
になります。この値の設定によって項目を選択することができます。値が、このプロパティまたはselectedIndex
プロパティを通じて変更されるか、ユーザによって変更された場合、select イベントが要素に送られます。
-
selectedItems
- 型: listitems の配列
- リスト内の選択された項目の配列を返します。
- {{ XULProp("selType") }}
- 型: 文字列型
- {{ XULAttr("seltype") }} 属性の値の取得と設定。
-
suppressOnSelect
- 型: 論理型
-
suppressonselect
属性の値の取得と設定。
メソッド
addItemToSelection( item )
- 戻り値の型: 戻り値無し
- 与えられた item を追加選択します。すでに選択されている項目の選択は解除されません。
-
appendItem(label,value )
- 戻り値の型: 要素
- 新しい項目を生成し、既存の項目リストの末尾に追加します。値の設定は任意です。この関数は新しく生成された要素を返します。
例
<script> function addItemsToList() { var list = document.getElementById('myMenuList'); // add item with just the label list.appendItem('One'); // add item with label and value list.appendItem('Two', 999); // Select the first item list.selectedIndex = 0; } </script> <button label="Add items" oncommand="addItemsToList()" /> <menulist id="myMenuList"> <menupopup /> </menulist>
関連情報
clearSelection()
- 戻り値の型: 戻り値無し
- すべての項目の選択を解除します。
ensureElementIsVisible( element )
- 戻り値の型: 戻り値無し
- 指定した要素がユーザに見えていない場合は、表示されている項目がスクロールされ、見えるようになります。項目がすでに見える位置にある場合はスクロールされません。
ensureIndexIsVisible( index )
- 戻り値の型: 戻り値無し
- 指定した index の項目が現在ユーザに見えていない場合、表示されている項目がそこまでスクロールされます。項目がすでに見えている場合はスクロールされません。
getIndexOfFirstVisibleRow()
- 戻り値の型: 整数型
- 表示されている最初の行の index を返します。これはリストデータの最初の行ではないので注意してください。表示されている項目がスクロールされると、この関数はユーザに見える最初の行の index を取得します。
getIndexOfItem( item )
- 戻り値の型: 整数型
- 指定した item の 0 を基点とした位置を返します。項目は、 list 内に表示された最初の項目から番号が付けられます。
getItemAtIndex( index )
- 戻り値の型: 要素
- 指定した index の位置の要素を返します。
getNumberOfVisibleRows()
- 戻り値の型: 整数型
- 現在ユーザに見えている行数を返します。
getRowCount()
- 戻り値の型: 整数型
- 要素内の行数の合計を返します。表示されている行数とは関係ありません。
getSelectedItem( index )
- 戻り値の型: 要素
- 複数の項目が選択されている時、このメソッドを使用して選択された各項目を取得することができます。引数 index は選択された項目のリストの index を指定します。項目の行番号ではありません。項目の index は 0 を基点とします。次の例は選択された最初の項目を返します:
getSelectedItem(0)
insertItemAt( index, label, value )
- 戻り値の型: 要素
- このメソッドは新しい項目を生成し、それを指定した位置に挿入します。値の設定は任意です。新しい項目要素を返します。
invertSelection()
- 戻り値の型: 戻り値無し
- すべての項目の選択状態を反転します。選択された項目の選択は解除され、選択されていない項目が選択されます。
moveByOffset( offset , isSelecting, isSelectingRange)
- 戻り値の型: 戻り値無し
offset
が正の数の場合、フォーカスされた項目を前方へ移動します。offset
が負の数の場合、フォーカスされた項目を後方へ移動します。isSelecting
がtrue
の場合、選択も同時に移動します。isSelectingRange
がtrue
の場合、現在の選択項目に加えて新しい項目が選択されます。isSelectingRange
がfalse
の場合、既存の選択は解除されます。隠された (hidden) 項目はスキップされます。
removeItemAt( index )
- 戻り値の型: 要素
- 要素内の指定した index の子項目を削除します。このメソッドは削除した項目を返します。
removeItemFromSelection( item )
- 戻り値の型: 戻り値なし
- 指定した項目の選択のみを解除します。他の項目の選択は解除しません。
scrollToIndex( index )
- 戻り値の型: 戻り値無し
- 指定した index の位置にスクロールします。これは表示領域が常にスクロールされるため、
ensureIndexIsVisible
とは異なります。
selectAll()
- 戻り値の型: 戻り値無し
- すべての項目を選択します。選択後、
select
イベントが送られます。
selectItem( item )
- 戻り値の型: 戻り値無し
- 現在選択されている項目の選択を解除し、与えられた item を選択します。選択後、
select
イベントが送られます。
selectItemRange( startItem, endItem )
- 戻り値の型: 戻り値無し
- 引数に与えられた 2 つの項目間の項目を選択します。これは startItem および endItem の項目も含みます。他のすべての項目の選択は解除されます。このメソッドは、1 つの項目を選択するリストボックスでは何もしません。選択後、
select
イベントが送られます。
timedSelect( item, timeout )
- 戻り値の型: 戻り値無し
- 引数 item で指定した項目を、引数 timeout に指定したのミリ秒後に選択します。他のすべての項目の選択は解除されます。
-
toggleItemSelection( item )
- 戻り値の型: 戻り値なし
- 指定した項目が選択されている場合、この選択が解除されます。そうでない場合、この項目が選択されます。listbox 内の他の選択された項目はこの影響を受けず、選択状態が保持されます。
関連項目