# rich

## Tag select

- Description:

    The <rich:select> component provides a drop-down list box for selecting a single value from multiple options. The <rich:select> component can be configured as a combo-box, where it will accept typed input. The component also supports keyboard navigation. The <rich:select> component functions similarly to the JSF UISelectOne component.

    The <rich:select> can optionally be used in an auto-completing mode, where the values in the drop-down list are provided dynamically using either the autocompleteMethod or autocompleteList attributes. If these attributes are omitted, the component operates in the traditional non-auto-completing mode. Refer to the individual attribute documentation to see which attributes are applicable only with an auto-completing select list.

    @author abelevich @author Brian Leathem

- Component Information
  Info | Value
  --- | ---
  Component Type | `org.richfaces.Select`
  Handler Class | `org.richfaces.view.facelets.AutocompleteHandler`
  Renderer Type | `org.richfaces.SelectRenderer`
  Description | The <rich:select> component provides a drop-down list box for selecting a single value from multiple options. The <rich:select> component can be configured as a combo-box, where it will accept typed input. The component also supports keyboard navigation. The <rich:select> component functions similarly to the JSF UISelectOne component. The <rich:select> can optionally be used in an auto-completing mode, where the values in the drop-down list are provided dynamically using either the autocompleteMethod or autocompleteList attributes. If these attributes are omitted, the component operates in the traditional non-auto-completing mode. Refer to the individual attribute documentation to see which attributes are applicable only with an auto-completing select list. @author abelevich @author Brian Leathem

- Attributes
  Name | Required | Type | Description
  --- | --- | --- | ---
  `autocompleteList` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | A collection of suggestions that will be provided to the user
  `autocompleteMethod` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.el.MethodExpression`) | A method which provides a list of suggestions according to a user-provided filtering value
  `binding` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.faces.component.UIComponent`) | The value binding expression used to wire up this component to a component property of a JavaBean class
  `clientFilterFunction` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | A javascript function used to filter the list of items in the select popup
  `converter` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.faces.convert.Converter`) | Converter instance registered with this component.
  `converterMessage` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | A ValueExpression enabled attribute that, if present, will be used as the text of the converter message, replacing any message that comes from the converter.
  `defaultLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Used to set the display text when value is undefined
  `disabled` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Flag indicating that this element must never receive focus or be included in a subsequent submit. Default value - "false"
  `enableManualInput` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | If "true" Allows the user to type into a text field to scroll through or filter the list. Implicitly true when using an auto-completing select list. Default is "false"
  `id` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The component identifier for this component. This value must be unique within the closest parent component that is a naming container.
  `immediate` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.
  `itemClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) to be applied to the list items. This value must be passed through as the "class" attribute on generated markup.
  `itemLabel` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | Label to be displayed to the user for the corresponding option. Used only with an auto-completing select, where the list of items comes from either the autocompleteList or autocompleteMethod attributes.
  `itemValue` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | Value to be returned to the server if the corresponding option is selected by the user. Used only with an auto-completing select, where the list of items comes from either the autocompleteList or autocompleteMethod attributes.
  `listClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) to be applied to the list element. This value must be passed through as the "class" attribute on generated markup.
  `listHeight` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The height of the list element (in pixels)
  `listWidth` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The width of the list element (in pixels)
  `maxListHeight` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The maximum height of the list
  `minChars` | `false` | `javax.el.ValueExpression` (must evaluate to `int`) | Minimal number of chars in input to activate suggestion popup
  `minListHeight` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | The minimum height ot the list
  `mode` | `false` | `javax.el.ValueExpression` (must evaluate to `org.richfaces.component.AutocompleteMode`) | Determine how the suggestion list is requested: client pre-loads data to the client and uses the input to filter the possible suggestions ajax fetches suggestions with every input change using Ajax requests lazyClient lazy-loads data to the client and uses the input to filter the possible suggestions. The filtering does not start until the input length matches a minimum value. Set the minimum value with the minChars attribute. cachedAjax lazy-loads data via Ajax requests when the input length matches a minimum value. Set the minimum value with the minChars attribute. All suggestions are handled on the client until the input prefix is changed, at which point a new request is made based on the new input prefix Default: cachedAjax
  `onblur` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when this element loses focus.
  `onchange` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when the list element loses focus and its value has been modified since gaining focus.
  `onclick` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is clicked over this element.
  `ondblclick` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is double clicked over this element.
  `onfocus` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when this element receives focus.
  `onkeydown` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is pressed down over this element.
  `onkeypress` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is pressed and released over this element.
  `onkeyup` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is released over this element.
  `onlistclick` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is clicked over the list element.
  `onlistdblclick` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is double clicked over the list element.
  `onlisthide` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when the list element is hidden
  `onlistkeydown` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is pressed down over the list element.
  `onlistkeypress` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is pressed and released over the list element.
  `onlistkeyup` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a key is released over the list element.
  `onlistmousedown` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is pressed down over the list element.
  `onlistmousemove` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved within the list element.
  `onlistmouseout` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved away from the list element.
  `onlistmouseover` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved onto the list element.
  `onlistmouseup` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is released over the list element.
  `onlistshow` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when the list element is shown
  `onmousedown` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is pressed down over this element.
  `onmousemove` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved within this element.
  `onmouseout` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved away from this element.
  `onmouseover` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is moved onto this element.
  `onmouseup` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when a pointer button is released over this element.
  `onselectitem` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Javascript code executed when an item is selected
  `rendered` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit. The default value for this property is true.
  `required` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | Flag indicating that the user is required to provide a submitted value for this input component.
  `requiredMessage` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | A ValueExpression enabled attribute that, if present, will be used as the text of the validation message for the "required" facility, if the "required" facility is used.
  `selectFirst` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | If "true" as the user types to narrow the list, automatically select the first element in the list. Applicable only when enableManualInput is "true". Default is "true"
  `selectItemClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) to be applied to the selected list item. This value must be passed through as the "class" attribute on generated markup.
  `showButton` | `false` | `javax.el.ValueExpression` (must evaluate to `boolean`) | When "true" display a button to expand the popup list Default is "true"
  `style` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | CSS style(s) to be applied when this component is rendered.
  `styleClass` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.
  `tabindex` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.
  `title` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Advisory title information about markup elements generated for this component.
  `validator` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.faces.el.MethodBinding`) | MethodExpression representing a validator method that will be called during Process Validations to perform correctness checks on the value of this component. The expression must evaluate to a public method that takes FacesContext, UIComponent, and Object parameters, with a return type of void.
  `validatorMessage` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | A ValueExpression enabled attribute that, if present, will be used as the text of the validator message, replacing any message that comes from the validator.
  `value` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.Object`) | The current value of this component.
  `valueChangeListener` | `false` | `javax.el.ValueExpression` (must evaluate to `javax.faces.el.MethodBinding`) | MethodExpression representing a value change listener method that will be notified when a new value has been set for this input component. The expression must evaluate to a public method that takes a `ValueChangeEvent` parameter, with a return type of void, or to a public method that takes no arguments with a return type of void. In the latter case, the method has no way of easily knowing what the new value is, but this can be useful in cases where a notification is needed that "this value changed".
  `var` | `false` | `javax.el.ValueExpression` (must evaluate to `java.lang.String`) | Expose the values from either the autocompleteList or autocompleteMethod attributes under a request scoped key so that the values may be referred to in an EL expression while rendering this component. Used only in an auto-completing select component.

Output generated by Vdldoc View Declaration Language Documentation Generator.