Render an HTML checkbox list.
See the "Decode Behavior for UISelectMany Components" section.
Encode Behavior
Render a "table" element. If the "styleClass" is specified,
render the value of the "styleClass" attribute as the value of the
"class" attribute on the "table" element. If the "style", or
"border" attributes are specified, pass them thru and render their values as the "style"
and "border" attributes on the "table", respectively. If
the "layout" attribute is specified, and its value is
"pageDirection", render the children elements vertically,
otherwise horizontally, in the table. If any of the children are
an instance of SelectItemGroup, render them as a nested table.
Each of the children are ultimately rendererd as follows. Render
an "input" element of "type" "checkbox" for each child component.
Render the "name" attribute on the "input" element with the value
of the clientId
of the component. Render an "id"
attribute on the "input" element. Each "id" value must be unique.
If the current SelectItem.isDisabled() returns true, render
"disabled" as the value of the "disabled" attribute. Close out
the "input" element. Render a "label" element. Render the "for"
attribute of the "label" element whose value is the corresponding
"input" element's "id" value.
If the current checkbox would be
rendered as being checked, and there is a "selectedClass"
attribute, append a space, followed by the value of the
"selectedClass" attribute to any existing "class" attribute value
on the label element. Otherwise, render the value of the
"selectedClass" attribute as the value of the "class" attribute on
the label element. If the current checkbox would be rendered as
being not checked, and there is a "unselectedClass" attribute,
append a space, followed by the value of the "unselectedClass"
attribute to any existing "class" attribute value on the label
element. Otherwise, render the value of the "unselectedClass"
attribute as the value of the "class" attribute on the label
element. If the
current checkbox would be rendered as being disabled, and there is a
"disabledClass" attribute, append a space, followed by the value
of the "disabledClass" attribute to any existing "class" attribute
value on the label element. Otherwise, render the value of the
"disabledClass" attribute as the value of the "class" attribute on
the label element. If the current checkbox would be rendered as
being enabled, and there is an "enabledClass" attribute, append a
space, followed by the value of the "enabledClass" attribute to any
existing "class" attribute value on the label element. Otherwise,
render the value of the "enabledClass" attribute as the value of
the "class" attribute on the label element. Close out the starting
"label" element and render the label value from SelectItem.getLabel().
Close out the "label" element. As an exception to the general rules about
how to handle the "id" attribute, render it as an attribute on the outer "table"
element, the value of which is the clientId
of the
component per the rules at the beginning of this specification.
The value of the current SelectItem is rendered as the value of
the "value" attribute. Coerce the value of the currently rendered
child to the type of the parent UISelectMany value following the
Expression Language coercion rules, before comparing the values.
If the value of the enclosing UISelectMany matches the current
value, render "checked" as the value of the "checked" attribute.
See the "Rendering the option
elements" specification for ListboxRenderer
for
more detail on how to render the "option" elements in this
renderer. Note that this
renderer does not support SelectItemGroup
elements,
so the text that describes the rendering of
SelectItemGroup
does not apply to this
renderer.
This renderer is responsible for rendering its children.
Attributes with a pass-through
value of
true
are not interpreted by the renderer and are passed
straight through to the rendered markup, without checking for validity. Attributes with a
pass-through
value of false
are interpreted
by the renderer, and may or may not be checked for validity by the renderer.
Attributes | |||||
attribute-name | pass-through | attribute-class | description | default-value | |
---|---|---|---|---|---|
accesskey
|
true | java.lang.String |
Access key that, when pressed, transfers focus to this element. | undefined | |
border
|
true | int |
Width (in pixels) of the border to be drawn around the table containing the options list. | undefined | |
collectionType
|
false | java.lang.String |
Optional
attribute that is a literal string that is the fully qualified
class name of a concrete class that implements
|
undefined | |
dir
|
true | java.lang.String |
Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). | undefined | |
disabled
|
false | boolean |
Flag indicating that this element must never receive focus or be included in a subsequent submit. A value of false causes no attribute to be rendered, while a value of true causes the attribute to be rendered as disabled="disabled". | undefined | |
disabledClass
|
false | java.lang.String |
CSS style class to apply to the rendered label on disabled options. | undefined | |
enabledClass
|
false | java.lang.String |
CSS style class to apply to the rendered label on enabled options. | undefined | |
hideNoSelectionOption
|
false | boolean |
Flag indicating that, if this component is activated by the user, The "no selection option", if any, must be hidden. |
undefined | |
lang
|
true | java.lang.String |
Code describing the language used in the generated markup for this component. | undefined | |
layout
|
false | java.lang.String |
Orientation of the options list to be created. Valid values are "pageDirection" (list is laid out vertically), or "lineDirection" (list is laid out horizontally). If not specified, the default value is "lineDirection". | undefined | |
onblur
|
true | java.lang.String |
Javascript code executed when this element loses focus. | undefined | |
onchange
|
false | java.lang.String |
Javascript code executed when this element loses focus and its value has been modified since gaining focus. | undefined | |
onclick
|
true | java.lang.String |
Javascript code executed when a pointer button is clicked over this element. | undefined | |
ondblclick
|
true | java.lang.String |
Javascript code executed when a pointer button is double clicked over this element. | undefined | |
onfocus
|
true | java.lang.String |
Javascript code executed when this element receives focus. | undefined | |
onkeydown
|
true | java.lang.String |
Javascript code executed when a key is pressed down over this element. | undefined | |
onkeypress
|
true | java.lang.String |
Javascript code executed when a key is pressed and released over this element. | undefined | |
onkeyup
|
true | java.lang.String |
Javascript code executed when a key is released over this element. | undefined | |
onmousedown
|
true | java.lang.String |
Javascript code executed when a pointer button is pressed down over this element. | undefined | |
onmousemove
|
true | java.lang.String |
Javascript code executed when a pointer button is moved within this element. | undefined | |
onmouseout
|
true | java.lang.String |
Javascript code executed when a pointer button is moved away from this element. | undefined | |
onmouseover
|
true | java.lang.String |
Javascript code executed when a pointer button is moved onto this element. | undefined | |
onmouseup
|
true | java.lang.String |
Javascript code executed when a pointer button is released over this element. | undefined | |
onselect
|
true | java.lang.String |
Javascript code executed when text within this element is selected by the user. | undefined | |
readonly
|
false | boolean |
Flag indicating that this component will prohibit changes by the user. The element may receive focus unless it has also been disabled. A value of false causes no attribute to be rendered, while a value of true causes the attribute to be rendered as readonly="readonly". | undefined | |
selectedClass
|
false | java.lang.String |
CSS style class to apply to the rendered label on selected options. | undefined | |
style
|
true | java.lang.String |
CSS style(s) to be applied when this component is rendered. | undefined | |
styleClass
|
false | 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. | undefined | |
tabindex
|
true | 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. | undefined | |
title
|
true | java.lang.String |
Advisory title information about markup elements generated for this component. | undefined | |
unselectedClass
|
false | java.lang.String |
CSS style class to apply to the rendered label on unselected options. | undefined |