htmlSelect
        
        extends htmlElement
    
    
            
            in package
            
        
    
    
    
        
            Represents a select box.
Table of Contents
- ALIGN_BOTTOM = 3
 - align to bottom
 - ALIGN_CENTER = 4
 - align to center
 - ALIGN_LEFT = 1
 - align to left
 - ALIGN_RIGHT = 2
 - align to right
 - ALIGN_TOP = 0
 - align to top
 - $alignment : mixed
 - alignment when inside a table
 - $colspan : mixed
 - colspan if inside a table
 - $rowspan : mixed
 - rowspan if inside a table
 - $cssClasses : mixed
 - CSS classes
 - $name : mixed
 - name of select field
 - $tableCellCssClasses : mixed
 - table cell CSS classes
 - $tableRowsToHide : mixed
 - list of enclosing table rows to hide when checked
 - $tableRowsToShow : mixed
 - list of enclosing table rows to show when checked
 - $accessibilityLabel : string|null
 - accessibility label
 - $containsOptgroups : mixed
 - contains optgroups
 - $dataAttributes : mixed
 - data attributes
 - $dynamicScrolling : mixed
 - dynamic scrolling
 - $elements : mixed
 - elements
 - $hasDescriptiveElements : mixed
 - descriptive elements
 - $isEnabled : mixed
 - enabled or disabled
 - $multiSelect : mixed
 - allows multi-selection
 - $onchangeEvent : mixed
 - onchange event
 - $optionCssClasses : mixed
 - CSS classes for values
 - $rightToLeftTextDirection : mixed
 - right to left text direction
 - $selectedElements : mixed
 - selected elements
 - $size : mixed
 - size
 - $sortElements : mixed
 - sorting enabled
 - $transformSingleSelect : mixed
 - transform select boxes with one element to text
 - $transient : mixed
 - indicates that this field should not automatically be saved in the self service or server profile
 - $width : mixed
 - width of input element
 - __construct() : mixed
 - Constructor.
 - addDataAttribute() : mixed
 - Adds a data attribute.
 - enableDynamicScrolling() : mixed
 - Enable dynamic scrolling. This limits the number of select options to 10000 by dynamically adding/removing options.
 - generateHTML() : array<string|int, mixed>
 - Prints the HTML code for this element.
 - getAccessibilityMarkup() : string
 - Returns the markup for the accessibility data.
 - getAlignmentString() : string
 - Returns the HTML attributes for the alignment.
 - getColspanString() : string
 - Returns the HTML attribute for the colspan.
 - getCSSClasses() : array<string|int, mixed>
 - Returns the CSS classes of this element.
 - getRowspanString() : string
 - Returns the HTML attribute for the rowspan.
 - getTableCellCSSClasses() : array<string|int, mixed>
 - Returns the CSS classes of the surrounding table cell for this element.
 - setAccessibilityLabel() : void
 - Sets the accessibility label.
 - setContainsOptgroups() : mixed
 - Specifies if the elements are divided into optgroups.
 - setCSSClasses() : mixed
 - Adds CSS classes to this element.
 - setHasDescriptiveElements() : mixed
 - Specifies if the elements are just a simple list or an associative array (default: simple list).
 - setIsEnabled() : mixed
 - Specifies if this component is enabled and accepts user modification.
 - setMultiSelect() : mixed
 - Specifies if multi-selection is enabled (default: disabled).
 - setOnchangeEvent() : mixed
 - Sets the JavaScript code for the onchange event.
 - setOptionCssClasses() : void
 - Sets CSS classes for option values.
 - setRightToLeftTextDirection() : mixed
 - Specifies if the text direction should be set to right to left.
 - setSortElements() : mixed
 - Specifies if the elements should be sorted (default: sort).
 - setTableCellCSSClasses() : mixed
 - Adds CSS classes to the surrounding table cell for this element.
 - setTableRowsToHide() : mixed
 - This will hide the given table rows when the select is changed to the specified value.
 - setTableRowsToShow() : mixed
 - This will show the given table rows when the select is changed to the specified value.
 - setTransformSingleSelect() : mixed
 - Specifies if select boxes that contain only a single element should be transformed to a simple text field.
 - setTransient() : mixed
 - Specifies that the value should not be automatically saved when used in self service or server profile (default: false).
 - setWidth() : mixed
 - Specifies the width of this selection box.
 - getDataAttributesAsString() : string
 - Returns the data attributes as rendered string.
 - getShowHideSelector() : string
 - Returns the selector to use to find the show/hide elements.
 - printCodeForShowHideTableRows() : mixed
 - Creates the JavaScript code to hide/show table rows based on the select value.
 - printOptionsHTML() : mixed
 - Prints the HTML code of the option tags.
 
Constants
ALIGN_BOTTOM
align to bottom
    public
        mixed
    ALIGN_BOTTOM
    = 3
    
        
    
ALIGN_CENTER
align to center
    public
        mixed
    ALIGN_CENTER
    = 4
    
        
    
ALIGN_LEFT
align to left
    public
        mixed
    ALIGN_LEFT
    = 1
    
        
    
ALIGN_RIGHT
align to right
    public
        mixed
    ALIGN_RIGHT
    = 2
    
        
    
ALIGN_TOP
align to top
    public
        mixed
    ALIGN_TOP
    = 0
    
        
    
Properties
$alignment
alignment when inside a table
    public
        mixed
    $alignment
    
    
        
    
$colspan
colspan if inside a table
    public
        mixed
    $colspan
    
    
        
    
$rowspan
rowspan if inside a table
    public
        mixed
    $rowspan
    
    
        
    
$cssClasses
CSS classes
    protected
        mixed
    $cssClasses
     = []
    
        
    
$name
name of select field
    protected
        mixed
    $name
    
    
        
    
$tableCellCssClasses
table cell CSS classes
    protected
        mixed
    $tableCellCssClasses
     = []
    
        
    
$tableRowsToHide
list of enclosing table rows to hide when checked
    protected
        mixed
    $tableRowsToHide
     = []
    
        
    
$tableRowsToShow
list of enclosing table rows to show when checked
    protected
        mixed
    $tableRowsToShow
     = []
    
        
    
$accessibilityLabel
accessibility label
    private
        string|null
    $accessibilityLabel
     = \null
    
        
    
$containsOptgroups
contains optgroups
    private
        mixed
    $containsOptgroups
     = \false
    
        
    
$dataAttributes
data attributes
    private
        mixed
    $dataAttributes
     = []
    
        
    
$dynamicScrolling
dynamic scrolling
    private
        mixed
    $dynamicScrolling
     = \false
    
        
    
$elements
elements
    private
        mixed
    $elements
    
    
        
    
$hasDescriptiveElements
descriptive elements
    private
        mixed
    $hasDescriptiveElements
     = \false
    
        
    
$isEnabled
enabled or disabled
    private
        mixed
    $isEnabled
     = \true
    
        
    
$multiSelect
allows multi-selection
    private
        mixed
    $multiSelect
     = \false
    
        
    
$onchangeEvent
onchange event
    private
        mixed
    $onchangeEvent
    
    
        
    
$optionCssClasses
CSS classes for values
    private
        mixed
    $optionCssClasses
     = []
    
        
    
$rightToLeftTextDirection
right to left text direction
    private
        mixed
    $rightToLeftTextDirection
     = \false
    
        
    
$selectedElements
selected elements
    private
        mixed
    $selectedElements
     = []
    
        
    
$size
size
    private
        mixed
    $size
    
    
        
    
$sortElements
sorting enabled
    private
        mixed
    $sortElements
     = \true
    
        
    
$transformSingleSelect
transform select boxes with one element to text
    private
        mixed
    $transformSingleSelect
     = \true
    
        
    
$transient
indicates that this field should not automatically be saved in the self service or server profile
    private
        mixed
    $transient
     = \false
    
        
    
$width
width of input element
    private
        mixed
    $width
     = ''
    
        
    
Methods
__construct()
Constructor.
    public
                    __construct(string $name, array<string|int, mixed> $elements[, array<string|int, mixed> $selectedElements = [] ][, int $size = 1 ]) : mixed
        
Examples:
$select = new htmlSelect('myName', array('value1', 'value2'), array('value1'));
$select = new htmlSelect('myName', array('label1' => 'value1', 'label2' => 'value2'), array('value1'));
$select->setHasDescriptiveElements(true);
$select = new htmlSelect('myName', array('optgroupLabel' => array('value1', 'value2')), array('value1'));
$select->setHasDescriptiveElements(true);
$select->setContainsOptgroups(true);
Parameters
- $name : string
 - 
                    
element name
 - $elements : array<string|int, mixed>
 - 
                    
list of elements array(label => value) or array(value1, value2) or array('optgroup' => array(...))
 - $selectedElements : array<string|int, mixed> = []
 - 
                    
list of selected elements (optional, default none)
 - $size : int = 1
 - 
                    
size (optional, default = 1)
 
Return values
mixed —addDataAttribute()
Adds a data attribute.
    public
                    addDataAttribute(string $key, string $value) : mixed
    
        Parameters
- $key : string
 - 
                    
attribute name (without "data-")
 - $value : string
 - 
                    
attribute value
 
Return values
mixed —enableDynamicScrolling()
Enable dynamic scrolling. This limits the number of select options to 10000 by dynamically adding/removing options.
    public
                    enableDynamicScrolling() : mixed
        This will not be enabled when optgroups are used or the option size is less than 10000.
Return values
mixed —generateHTML()
Prints the HTML code for this element.
    public
                    generateHTML(string $module, array<string|int, mixed> $input, array<string|int, mixed> $values, bool $restricted, string $scope) : array<string|int, mixed>
    
        Parameters
- $module : string
 - 
                    
Name of account module
 - $input : array<string|int, mixed>
 - 
                    
List of meta-HTML elements
 - $values : array<string|int, mixed>
 - 
                    
List of values which override the defaults in $input (name => value)
 - $restricted : bool
 - 
                    
If true then no buttons will be displayed
 - $scope : string
 - 
                    
Account type
 
Return values
array<string|int, mixed> —List of input field names and their type (name => type)
getAccessibilityMarkup()
Returns the markup for the accessibility data.
    public
                    getAccessibilityMarkup() : string
    
    
    
        Return values
string —markup to be included in HTML tag (starting with space)
getAlignmentString()
Returns the HTML attributes for the alignment.
    public
                    getAlignmentString() : string
    
    
    
        Return values
string —alignment HTML attributes (e.g. align="right" valign="top")
getColspanString()
Returns the HTML attribute for the colspan.
    public
                    getColspanString() : string
    
    
    
        Return values
string —colspan HTML attribute (e.g. colspan=3)
getCSSClasses()
Returns the CSS classes of this element.
    public
                    getCSSClasses() : array<string|int, mixed>
    
    
    
        Return values
array<string|int, mixed> —$classes CSS class names
getRowspanString()
Returns the HTML attribute for the rowspan.
    public
                    getRowspanString() : string
    
    
    
        Return values
string —rowspan HTML attribute (e.g. rowspan=3)
getTableCellCSSClasses()
Returns the CSS classes of the surrounding table cell for this element.
    public
                    getTableCellCSSClasses() : array<string|int, mixed>
    
    
    
        Return values
array<string|int, mixed> —CSS classes
setAccessibilityLabel()
Sets the accessibility label.
    public
                    setAccessibilityLabel(string|null $accessibilityLabel) : void
    
        Parameters
- $accessibilityLabel : string|null
 - 
                    
label
 
Return values
void —setContainsOptgroups()
Specifies if the elements are divided into optgroups.
    public
                    setContainsOptgroups(bool $containsOptgroups) : mixed
        In this case the provided options are an array where the key is the optgroup label and the value is an array containing the options for the optgroup.
Parameters
- $containsOptgroups : bool
 - 
                    
activates optgroups
 
Return values
mixed —setCSSClasses()
Adds CSS classes to this element.
    public
                    setCSSClasses(array<string|int, mixed> $classes) : mixed
    
        Parameters
- $classes : array<string|int, mixed>
 - 
                    
CSS class names
 
Return values
mixed —setHasDescriptiveElements()
Specifies if the elements are just a simple list or an associative array (default: simple list).
    public
                    setHasDescriptiveElements(bool $hasDescriptiveElements) : mixed
    
        Parameters
- $hasDescriptiveElements : bool
 - 
                    
activates descriptive elements
 
Return values
mixed —setIsEnabled()
Specifies if this component is enabled and accepts user modification.
    public
                    setIsEnabled(bool $isEnabled) : mixed
    
        Parameters
- $isEnabled : bool
 - 
                    
enabled if true
 
Return values
mixed —setMultiSelect()
Specifies if multi-selection is enabled (default: disabled).
    public
                    setMultiSelect(bool $multiSelect) : mixed
    
        Parameters
- $multiSelect : bool
 - 
                    
allows multi-selection
 
Return values
mixed —setOnchangeEvent()
Sets the JavaScript code for the onchange event.
    public
                    setOnchangeEvent(string $onchangeEvent) : mixed
    
        Parameters
- $onchangeEvent : string
 - 
                    
onchange event code (e.g. myfunction();)
 
Return values
mixed —setOptionCssClasses()
Sets CSS classes for option values.
    public
                    setOptionCssClasses(array<string|int, mixed> $optionCssClasses) : void
    
        Parameters
- $optionCssClasses : array<string|int, mixed>
 - 
                    
array('option value' => 'CSS class(es)')
 
Return values
void —setRightToLeftTextDirection()
Specifies if the text direction should be set to right to left.
    public
                    setRightToLeftTextDirection(bool $rightToLeftTextDirection) : mixed
    
        Parameters
- $rightToLeftTextDirection : bool
 - 
                    
if true use right to left direction
 
Return values
mixed —setSortElements()
Specifies if the elements should be sorted (default: sort).
    public
                    setSortElements(bool $sortElements) : mixed
    
        Parameters
- $sortElements : bool
 - 
                    
sort elements
 
Return values
mixed —setTableCellCSSClasses()
Adds CSS classes to the surrounding table cell for this element.
    public
                    setTableCellCSSClasses(array<string|int, mixed> $classes) : mixed
    
        Parameters
- $classes : array<string|int, mixed>
 - 
                    
CSS class names
 
Return values
mixed —setTableRowsToHide()
This will hide the given table rows when the select is changed to the specified value.
    public
                    setTableRowsToHide(array<string|int, mixed> $tableRowsToHide) : mixed
        The given IDs can be of any e.g. input element. Starting from this element the first parent "
Example:
Using "mycheckbox" will use this "tr" to hide/show.
Example for $tableRowsToHide:
array('yes' => array('option1', 'option2'), 'no' => array('option3'))
Parameters
- $tableRowsToHide : array<string|int, mixed>
 - 
                    
array of select value => array of IDs of child elements to hide
 
Return values
mixed —setTableRowsToShow()
This will show the given table rows when the select is changed to the specified value.
    public
                    setTableRowsToShow(array<string|int, mixed> $tableRowsToShow) : mixed
        The given IDs can be of any e.g. input element. Starting from this element the first parent "
Example:
Using "mycheckbox" will use this "tr" to hide/show.
Example for $tableRowsToShow:
array('yes' => array('option1', 'option2'), 'no' => array('option3'))
Parameters
- $tableRowsToShow : array<string|int, mixed>
 - 
                    
array of select value => array of IDs of child elements to show
 
Return values
mixed —setTransformSingleSelect()
Specifies if select boxes that contain only a single element should be transformed to a simple text field.
    public
                    setTransformSingleSelect(bool $transformSingleSelect) : mixed
    
        Parameters
- $transformSingleSelect : bool
 - 
                    
transform single options to text
 
Return values
mixed —setTransient()
Specifies that the value should not be automatically saved when used in self service or server profile (default: false).
    public
                    setTransient(bool $transient) : mixed
    
        Parameters
- $transient : bool
 - 
                    
transient field
 
Return values
mixed —setWidth()
Specifies the width of this selection box.
    public
                    setWidth(string $width) : mixed
    
        Parameters
- $width : string
 - 
                    
width (e.g. 20em)
 
Return values
mixed —getDataAttributesAsString()
Returns the data attributes as rendered string.
    protected
                    getDataAttributesAsString() : string
    
    
    
        Return values
string —data attributes
getShowHideSelector()
Returns the selector to use to find the show/hide elements.
    protected
                    getShowHideSelector() : string
    
    
    
        Return values
string —selector
printCodeForShowHideTableRows()
Creates the JavaScript code to hide/show table rows based on the select value.
    private
                    printCodeForShowHideTableRows(string &$onChange) : mixed
    
        Parameters
- $onChange : string
 - 
                    
onChange code
 
Return values
mixed —printOptionsHTML()
Prints the HTML code of the option tags.
    private
                    printOptionsHTML(array<string|int, mixed> $elements) : mixed
    
        Parameters
- $elements : array<string|int, mixed>
 - 
                    
list of options