<netui:select> Tag
Renders an HTML <select> tag containing a set of selectable options.
<netui:select
[accessKey="accessKey"]
dataSource="dataSource"
[defaultValue="defaultValue"]
[dir="dir"]
[disabled="disabled"]
[lang="lang"]
[multiple="multiple"]
[nullable="nullable"]
[nullableOptionText="nullableOptionText"]
[onBlur="onBlur"]
[onChange="onChange"]
[onClick="onClick"]
[onDblClick="onDblClick"]
[onFocus="onFocus"]
[onKeyDown="onKeyDown"]
[onKeyPress="onKeyPress"]
[onKeyUp="onKeyUp"]
[onMouseDown="onMouseDown"]
[onMouseMove="onMouseMove"]
[onMouseOut="onMouseOut"]
[onMouseOver="onMouseOver"]
[onMouseUp="onMouseUp"]
[optionsDataSource="optionsDataSource"]
[repeater="repeater"]
[repeatingOrder="repeatingOrder"]
[size="size"]
[style="style"]
[styleClass="styleClass"]
[tabindex="tabindex"]
[tagId="tagId"]
[title="title"] />
Renders an HTML <select> tag containing a set of selectable options.
The <netui:select> tag can generate a set of
selectable options in two ways:
- they can be dynamically generated by pointing the
<netui:select> tag at a String[] object or
java.util.HashMap
- they can be statically generated by providing a set of children
<netui:selectOption>
tags
Dynamically Generated Options
You can dynamically generate a set of selectable options by
pointing the <netui:select> tag at a String[].
public String[] _options = {"red", "green", "blue", "orange", "pink", "aqua", "black", "brown", "tan"};
To point the <netui:select> tag
at the String[] object use the optionsDataSource
attribute.
<netui:select optionsDataSource="{pageFlow._options}"
Note that you can make the display value and the submitted value differ by pointing the <netui:select>
tag at a HashMap object.
(Any object that implements the
java.util.Map
interface will work.)
public HashMap _hashMap = new HashMap();
protected void onCreate()
{
_hashMap.put("#ff3333", "red");
_hashMap.put("#3333ff", "blue");
_hashMap.put("#33ff33", "green");
}
The following HTML will be generated.
<select size="3">
<option value="#3333ff">blue</option>
<option value="#33ff33">green</option>
<option value="#ff3333">red</option>
</select>
Statically Generated Options
To statically generate selecable options, place a set of <netui:selectOption> tags inside
the <netui:select> tag.
<netui:select dataSource="{actionForm.selections}" size="5">
<netui:selectOption value="red" />
<netui:selectOption value="blue" />
<netui:selectOption value="green" />
<netui:selectOption value="yellow" />
<netui:selectOption value="orange" />
</netui:select>
Submitting Selections
A <netui:select> is submitted as a String or String[] object, depending on whether the
multiple
attribute is set to true. In the following example, the dataSource
attribute points at a String[] object.
</netui:select dataSource="{actionForm.selections}">
In this case, the <netui:select> tag submits to a String[] field of a Form Bean.
public static class SubmitForm extends FormData
{
private String[] selections;
public void setSelections(String[] selections)
{
this.selections = selections;
}
public String[] getSelections()
{
return this.selections;
}
}
Attributes |
accessKey |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The keyboard navigation key for the element.
The following values are not recommended because they
are often used by browsers: A, C, E, F, G,
H, V, left arrow, and right arrow |
dataSource |
Required: Yes | Supports
runtime evaluation: No | Data bindable: |
|
The dataSource attribute determines both
(1) the source of populating data for the tag and
(2) the object to which the tag submits data.
For example, assume that the Controller file (= JPF file) contains
a Form Bean with the property foo. Then the following <netui:textBox> tag will
(1) draw populating data from the Form Bean's foo property and (2)
submit user defined data to the same property.
<netui:textBox dataSource="{actionForm.foo}" />
The dataSource attribute takes either a data binding expression or
the name of a Form Bean property. In the
above example, <netui:textBox dataSource="foo" />
would have the exactly same behavior.
When the tag is used to submit data, the data binding expression must
refer to a Form Bean property.
In cases where the tag is not used to submit data, but is used for
displaying data only, the data
binding expression need not refer to a Form Bean property. For example,
assume that myIterativeData is a member variable on
the Controller file ( = JPF file). The following <netui-data:repeater>
tag draws its data from myIterativeData.
<netui-data:repeater dataSource="{pageFlow.myIterativeData}"> |
defaultValue |
Required: No | Supports
runtime evaluation: Yes | Data bindable: |
|
Use in <netui:checkBoxGroup>, <netui:checkBox>,
<netui:radioButtonGroup>, and <netui:select> tags
Sets the preselected value or values.
The defaultValue attribute takes either a String literal or
a data binding expression.
If the defaultValue attribute has a String value (or if
the data binding expression points to a String), then a single value
will be preselected.
If the defaultValue attribute points to a String[] object
(or any object which can be iterated over), then
multiple values will be preselected.
Use in <netui:textArea> and <netui:textBox> tags
Sets the initial display text.
The defaultValue attribute takes either a String literal or
a data binding expression that points to a String. |
dir |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The dir. |
disabled |
Required: No | Supports
runtime evaluation: Yes | Data bindable: |
|
|
lang |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The lang. |
multiple |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
Boolean. Whether or not multi-selection is enabled.
If multiple selection is enabled, a null option will not be displayed, even if
the nullable is set to true. |
nullable |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
Boolean.
Whether a option with the value null should be added to the bottom of the list.
If <select> has the multiple attribute set to true, the null option won't be shown. |
nullableOptionText |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
Boolean.
If the nullable attribute is set to true, then the nullableOptionText
attribute determines the display text of the null option.
The default is to use the empty string, "", as the display text. |
onBlur |
Required: No | Supports
runtime evaluation: Yes | Data bindable: |
|
|
onChange |
Required: No | Supports
runtime evaluation: Yes | Data bindable: |
|
|
onClick |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The onClick JavaScript event. |
onDblClick |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The onDblClick JavaScript event. |
onFocus |
Required: No | Supports
runtime evaluation: Yes | Data bindable: |
|
|
onKeyDown |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The onKeyDown JavaScript event. |
onKeyPress |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The onKeyPress JavaScript event. |
onKeyUp |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The onKeyUp JavaScript event. |
onMouseDown |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The onMouseDown JavaScript event. |
onMouseMove |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The onMouseMove JavaScript event. |
onMouseOut |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The onMouseOut JavaScript event. |
onMouseOver |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The onMouseOver JavaScript event. |
onMouseUp |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The onMouseUp JavaScript event. |
optionsDataSource |
Required: No | Supports
runtime evaluation: Yes | Data bindable: |
|
|
repeater |
Required: No | Supports
runtime evaluation: Yes | Data bindable: |
|
|
repeatingOrder |
Required: No | Supports
runtime evaluation: Yes | Data bindable: |
|
|
size |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The number of visible options |
style |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The style. |
styleClass |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The style class. |
tabindex |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The tabIndex of the rendered HTML tag. This attribute determines the position of the
tag in the sequence of page elements that the user may advance through by pressing the TAB key. |
tagId |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
String value. Sets the id (or name ) attribute of the rendered HTML tag.
Note that the real id attribute rendered in the browser may be
changed by the application container (for example, Portal containers may change
the rendered id value to ensure the uniqueness of
id's on the page). In this case, the real id rendered
in the browser may be looked up
through the JavaScript function getNetuiTagName( tagId, tag ).
For example, assume that some tag's tagId attribute is set to foo .
<netui:textBox tagId="foo" />
Then the following JavaScript function will return the real id attribute rendered in the browser:
getNetuiTagName( "foo", this )
To get a <netui:form> element and all of its children elements in JavaScript, use
the same JavaScript function getNetuiTagName( tagId, tag ) . For example,
assume that there is a <netui:form> whose
tagId attribute is set to bar .
<netui:form tagId="bar" >
Then the following JavaScript function will return the <netui:form> element
and its children (packaged as an array).
document[getNetuiTagName( "bar", this )]
To retreive the value entered into a <netui:textBox> within the <netui:form> tag, use the following
JavaScript expression.
document[getNetuiTagName("bar", this)][getNetuiTagName("foo", this)].value
The second parameter ensures that the JavaScript function
begins its search within the correct Portlet scope. Pass the
JavaScript keyword this as the second parameter.
For detailed information on using the function
getNetuiTagName( tagId, tag ) see
Using JavaScript in Page Flow and Portal Applications. |
title |
Required: No | Supports
runtime evaluation: Yes | Data bindable: No |
|
The title. |
The following sample uses the optionsDataSource
attribute to reference a
dynamically generated dropdown list.
<netui:select dataSource="{actionForm.selectedOption}"
optionsDataSource="{actionForm.itemOptions}" />
Assume that the optionsDataSource
attribute refers to
a java.util.Map
object.
The Map object will be rendered as a series
of <option> tags. HTML that is similar to the following will be
rendered in the browser:
<select>
<option value="633">Aurora Bridge</option>
<option value="631">FA-18 fighter jet</option>
<option value="635">Space Needle</option>
<option value="642">Thin Mints</option>
...
</select>