XUL:menulist
From MDC
« XUL Reference home [ Examples | Attributes | Properties | Methods | Related ]
An element that can be used for drop-down choice lists. The user may select one of the elements displayed in the menulist. The currently selected choice is displayed on the menulist element. To create the drop-down, put a menupopup inside the menulist containing the choices as menuitem elements. The command event may be used to execute code when the menulist selection changes.
More information is available in the XUL tutorial.
- Attributes
- accesskey, crop, disableautoselect, disabled, editable, focused, image, label, oncommand, open, preference, readonly, sizetopopup, tabindex, value
- Properties
- accessibleType, crop, description, disableautoselect, disabled, editable, editor, image, inputField, itemCount, label, menuBoxObject, menupopup, open, selectedIndex, selectedItem, tabIndex, value
- Methods
- appendItem, contains, getIndexOfItem, getItemAtIndex, insertItemAt, removeAllItems, removeItemAt, select
[edit] Examples
<menulist>
<menupopup>
<menuitem label="option 1" value="1"/>
<menuitem label="option 2" value="2"/>
<menuitem label="option 3" value="3"/>
<menuitem label="option 4" value="4"/>
</menupopup>
</menulist>
[edit] Attributes
|
Inherited from XUL element |
- accesskey
- Type: character
- This should be set to a letter that is used as a shortcut key. This letter should be one of the characters that appears in the
labeltext for the element.
- crop
- Type: one of the values below
- If the label of the element is too big to fit in its given space, the text will be cropped on the side specified by the
cropattribute. An ellipsis will be used in place of the cropped text. If the box direction is reversed, the cropping is reversed.
-
start: The text will be cropped on its left side. -
end: The text will be cropped on its right side. -
left: Deprecated The text will be cropped on its left side. -
right: Deprecated The text will be cropped on its right side. -
center: The text will be cropped in the middle, showing both the start and end of the text normally. -
none: The text will be not be cropped using an ellipsis. However, the text will simply be cut off if it is too large. The side depends on the CSS text alignment.
- disableautoselect
- Type: boolean
- If this attribute is
trueor omitted, the selected item on the menu will update to match what the user entered in the textbox. If the text does not match any of the items in the list, the menu selection is cleared. If this attribute isfalse, the selection is never updated to match the text box. This attribute applies only to editable menulists.
- disabled
- Type: boolean
- Indicates whether the element is disabled or not. If this element is set to
truethe element is disabled. Disabled elements are usually drawn with grayed-out text. If the element is disabled, it does not respond to user actions, it cannot be focused, and thecommandevent will not fire.
- editable
- Type: boolean
- Indicates that the value of the menulist can be modified by typing directly into the value field. This is rendered as a textbox with a drop-down arrow beside it. The user may enter text into the textbox or select one of the choices by clicking from the drop-down.
- focused
- Type: boolean
- This attribute is
trueif the element is focused.
- image
- Type: image URL
- The URL of the image to appear on the element. If this attribute is empty or left out, no image appears. The position of the image is determined by the dir and orient attributes.
- label
- Type: string
- The label that will appear on the element. If this is left out, no text appears.
- oncommand
- Type: script code
- This event handler is called when the command is activated. This occurs when a user selects a menu item or presses a keyboard shortcut attached to the command.
- open
- Type: boolean
- For the
menutype buttons, theopenattribute is set totruewhen the menu is open. Theopenattribute is not present if the menu is closed.
- preference
- Type: element id
- Connects the element to a corresponding preference. This attribute only has any effect when used inside a prefwindow. The value of the preference will be updated to match the value property of the element.
- readonly
- Type: boolean
- If set to
true, then the user cannot change the value of the element. However, the value may still be modified by a script.
- sizetopopup
- Type: one of the following values
- Indicates how the menu width and the menupopup width are determined. If the
sizetopopupattribute is left out or set tonone, the menu will be its preferred width and the popup may extend outside of this width, unaffected by the maximum width of the menu itself.
-
none: The width of the popup will not be constrained to the size of the menu. -
always: If set toalways, the menu's width will be the same as that necessary for the menupopup. If the menu has a maximum width, the popup will also be this width.
- tabindex
- Type: integer
- The tab order of the element. The tab order is the order in which the focus is moved when the user presses the "tab" key. Elements with a higher
tabindexare later in the tab sequence.
- value
- Type: string
- The string attribute allows you to associate a data value with an element. It is not used for any specific purpose, but you can access it with a script for your own use.
[edit] Properties
|
Inherited from XUL element Inherited from DOM element |
- accessibleType
- Type: integer
- A value indicating the type of accessibility object for the element.
- description
- Type: string
- Set to the description of the currently selected menuitem.
- disableautoselect
- Type: boolean
- Gets and sets the value of the disableautoselect attribute.
- image
- Type: image URL
- The image associated with the currently selected item.
- inputField
- Type: textbox element
- A reference to the textbox element used for editable menu lists. This property is read only and applies to editable menulists only.
- menuBoxObject
- Type: nsIMenuBoxObject
- A reference to the nsIMenuBoxObject which implements the menu.
- menupopup
- Type: menupopup element
- A reference to the menupopup used by the menulist. This property is read-only.
- selectedIndex
- Type: integer
- Returns the index of the currently selected item. You may select an item by assigning its index to this property. By assigning
-1to this property, all items will be deselected.
- selectedItem
- Type: element
- Holds the currently selected item. If no item is currently selected, this value will be
null. You can select an item by setting this value. A select event will be sent to the element when it is changed either via this property, the selectedIndex property, or changed by the user.
[edit] Methods
|
Inherited from XUL element Inherited from DOM element |
- appendItem( label, value, description )
- Return type: element
- Creates a new menuitem element and adds it to the end of the menulist. You may optionally set a value and description. The function returns the new item.
- contains( item ) New in Firefox 3
- Return type: boolean
- Returns
trueif the menulist contains the specified menuitem as one of its items.
- getIndexOfItem( item )
- Return type: integer
- Returns the zero-based position of the specified item. Items are numbered starting at the first item displayed in the list.
- getItemAtIndex( index )
- Return type: element
- Returns the element that is at the specified index.
- insertItemAt( index, label, value )
- Return type: element
- This method creates a new item and inserts it at the specified position. You may optionally set a value. The new item element is returned.
- removeAllItems()
- Return type: no return value
- Removes all of the items in the menu.
- removeItemAt( index )
- Return type: element
- Removes the child item in the element at the specified index. The method returns the removed item.
- select()
- Return type: no return value
- Select all the text in the menulist's textbox. This method applies to editable menulists only.
[edit] Related
- Elements
- menu, menubar, menuitem, menupopup, menuseparator
- Interfaces
- nsIAccessibleProvider, nsIDOMXULMenuListElement