class JHtmlSelect

Utility class for creating HTML select lists

Methods

static  string
booleanlist( string $name, array $attribs = array(), string $selected = null, string $yes = 'JYES', string $no = 'JNO', mixed $id = false)

Generates a yes/no radio list.

static  string
genericlist( array $data, string $name, mixed $attribs = null, string $optKey = 'value', string $optText = 'text', mixed $selected = null, mixed $idtag = false, boolean $translate = false)

Generates an HTML selection list.

static  string
suggestionlist( array $data, string $optKey = 'value', string $optText = 'text', mixed $idtag = null, boolean $translate = false)

Method to build a list with suggestions

static  string
groupedlist( array $data, string $name, array $options = array())

Generates a grouped HTML selection list from nested arrays.

static  string
integerlist( integer $start, integer $end, integer $inc, string $name, mixed $attribs = null, mixed $selected = null, string $format = '')

Generates a selection list of integers.

static  stdClass
optgroup( string $text, string $optKey = 'value', string $optText = 'text')

Create a placeholder for an option group.

static  stdClass
option( string $value, string $text = '', mixed $optKey = 'value', string $optText = 'text', boolean $disable = false)

Create an object that represents an option in an option list.

static  string
options( array $arr, mixed $optKey = 'value', string $optText = 'text', mixed $selected = null, boolean $translate = false)

Generates the option tags for an HTML select list (with no select tag surrounding the options).

static  string
radiolist( array $data, string $name, string $attribs = null, mixed $optKey = 'value', string $optText = 'text', string $selected = null, boolean $idtag = false, boolean $translate = false)

Generates an HTML radio list.

Details

static string booleanlist( string $name, array $attribs = array(), string $selected = null, string $yes = 'JYES', string $no = 'JNO', mixed $id = false)

Generates a yes/no radio list.

Parameters

string $name The value of the HTML name attribute
array $attribs Additional HTML attributes for the <select> tag
string $selected The key that is selected
string $yes Language key for Yes
string $no Language key for no
mixed $id The id for the field or false for no id

Return Value

string HTML for the radio list

See also

JFormFieldRadio

static string genericlist( array $data, string $name, mixed $attribs = null, string $optKey = 'value', string $optText = 'text', mixed $selected = null, mixed $idtag = false, boolean $translate = false)

Generates an HTML selection list.

Parameters

array $data An array of objects, arrays, or scalars.
string $name The value of the HTML name attribute.
mixed $attribs Additional HTML attributes for the <select> tag. This can be an array of attributes, or an array of options. Treated as options if it is the last argument passed. Valid options are: Format options, see {see JHtml::$formatOptions}. Selection options, see {see JHtmlSelect::options()}. list.attr, string|array: Additional attributes for the select element. id, string: Value to use as the select element id attribute. Defaults to the same as the name. list.select, string|array: Identifies one or more option elements to be selected, based on the option key values.
string $optKey The name of the object variable for the option value. If set to null, the index of the value array is used.
string $optText The name of the object variable for the option text.
mixed $selected The key that is selected (accepts an array or a string).
mixed $idtag Value of the field id or null by default
boolean $translate True to translate

Return Value

string HTML for the select list.

static string suggestionlist( array $data, string $optKey = 'value', string $optText = 'text', mixed $idtag = null, boolean $translate = false)

Method to build a list with suggestions

Parameters

array $data An array of objects, arrays, or values.
string $optKey The name of the object variable for the option value. If set to null, the index of the value array is used.
string $optText The name of the object variable for the option text.
mixed $idtag Value of the field id or null by default
boolean $translate True to translate

Return Value

string HTML for the select list

static string groupedlist( array $data, string $name, array $options = array())

Generates a grouped HTML selection list from nested arrays.

Parameters

array $data An array of groups, each of which is an array of options.
string $name The value of the HTML name attribute
array $options Options, an array of key/value pairs. Valid options are: Format options, {see JHtml::$formatOptions}. Selection options. See {see JHtmlSelect::options()}. group.id: The property in each group to use as the group id attribute. Defaults to none. group.label: The property in each group to use as the group label. Defaults to "text". If set to null, the data array index key is used. group.items: The property in each group to use as the array of items in the group. Defaults to "items". If set to null, group.id and group. label are forced to null and the data element is assumed to be a list of selections. id: Value to use as the select element id attribute. Defaults to the same as the name. list.attr: Attributes for the select element. Can be a string or an array of key/value pairs. Defaults to none. list.select: either the value of one selected option or an array of selected options. Default: none. list.translate: Boolean. If set, text and labels are translated via JText::_().

Return Value

string HTML for the select list

Exceptions

RuntimeException If a group has contents that cannot be processed.

static string integerlist( integer $start, integer $end, integer $inc, string $name, mixed $attribs = null, mixed $selected = null, string $format = '')

Generates a selection list of integers.

Parameters

integer $start The start integer
integer $end The end integer
integer $inc The increment
string $name The value of the HTML name attribute
mixed $attribs Additional HTML attributes for the <select> tag, an array of attributes, or an array of options. Treated as options if it is the last argument passed.
mixed $selected The key that is selected
string $format The printf format to be applied to the number

Return Value

string HTML for the select list

static stdClass optgroup( string $text, string $optKey = 'value', string $optText = 'text')

Create a placeholder for an option group.

Parameters

string $text The text for the option
string $optKey The returned object property name for the value
string $optText The returned object property name for the text

Return Value

stdClass

See also

JHtmlSelect::groupedList()

static stdClass option( string $value, string $text = '', mixed $optKey = 'value', string $optText = 'text', boolean $disable = false)

Create an object that represents an option in an option list.

Parameters

string $value The value of the option
string $text The text for the option
mixed $optKey If a string, the returned object property name for the value. If an array, options. Valid options are: attr: String|array. Additional attributes for this option. Defaults to none. disable: Boolean. If set, this option is disabled. label: String. The value for the option label. option.attr: The property in each option array to use for additional selection attributes. Defaults to none. option.disable: The property that will hold the disabled state. Defaults to "disable". option.key: The property that will hold the selection value. Defaults to "value". option.label: The property in each option array to use as the selection label attribute. If a "label" option is provided, defaults to "label", if no label is given, defaults to null (none). option.text: The property that will hold the the displayed text. Defaults to "text". If set to null, the option array is assumed to be a list of displayable scalars.
string $optText The property that will hold the the displayed text. This parameter is ignored if an options array is passed.
boolean $disable Not used.

Return Value

stdClass

static string options( array $arr, mixed $optKey = 'value', string $optText = 'text', mixed $selected = null, boolean $translate = false)

Generates the option tags for an HTML select list (with no select tag surrounding the options).

Parameters

array $arr An array of objects, arrays, or values.
mixed $optKey If a string, this is the name of the object variable for the option value. If null, the index of the array of objects is used. If an array, this is a set of options, as key/value pairs. Valid options are: -Format options, {see JHtml::$formatOptions}. -groups: Boolean. If set, looks for keys with the value "<optgroup>" and synthesizes groups from them. Deprecated. Defaults true for backwards compatibility. -list.select: either the value of one selected option or an array of selected options. Default: none. -list.translate: Boolean. If set, text and labels are translated via JText::_(). Default is false. -option.id: The property in each option array to use as the selection id attribute. Defaults to none. -option.key: The property in each option array to use as the selection value. Defaults to "value". If set to null, the index of the option array is used. -option.label: The property in each option array to use as the selection label attribute. Defaults to null (none). -option.text: The property in each option array to use as the displayed text. Defaults to "text". If set to null, the option array is assumed to be a list of displayable scalars. -option.attr: The property in each option array to use for additional selection attributes. Defaults to none. -option.disable: The property that will hold the disabled state. Defaults to "disable". -option.key: The property that will hold the selection value. Defaults to "value". -option.text: The property that will hold the the displayed text. Defaults to "text". If set to null, the option array is assumed to be a list of displayable scalars.
string $optText The name of the object variable for the option text.
mixed $selected The key that is selected (accepts an array or a string)
boolean $translate Translate the option values.

Return Value

string HTML for the select list

static string radiolist( array $data, string $name, string $attribs = null, mixed $optKey = 'value', string $optText = 'text', string $selected = null, boolean $idtag = false, boolean $translate = false)

Generates an HTML radio list.

Parameters

array $data An array of objects
string $name The value of the HTML name attribute
string $attribs Additional HTML attributes for the <select> tag
mixed $optKey The key that is selected
string $optText The name of the object variable for the option value
string $selected The name of the object variable for the option text
boolean $idtag Value of the field id or null by default
boolean $translate True if options will be translated

Return Value

string HTML for the select list