From Joomla! Documentation

< API16:JHtmlSelect

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.


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

<! removed transcluded page call, red link never existed >


static option($value, $text= '', $optKey= 'value', $optText= 'text', $disable=false)
Parameter Name Default Value Description
$value The value of the option
$text The text for the option
$optKey 'value' If a string, the returned object property name for the value. If an array, options. Valid options are:
$optText 'text' The property that will hold the the displayed text. This parameter is ignored if an options array is passed.
$disable false



Defined in



jimport( 'joomla.html.html.select' );

Source Body

public static function option(
        $value, $text = '', $optKey = 'value', $optText = 'text', $disable = false
) {
        $options = array(
                'attr' => null,
                'disable' => false,
                'option.attr' => null,
                'option.disable' => 'disable',
                'option.key' => 'value',
                'option.label' => null,
                'option.text' => 'text',
        if (is_array($optKey)) {
                // Merge in caller's options
                $options = array_merge($options, $optKey);
        } else {
                // Get options from the parameters
                $options['option.key'] = $optKey;
                $options['option.text'] = $optText;
                $options['disable'] = $disable;
        $obj = new JObject;
        $obj->$options['option.key'] = $value;
        $obj->$options['option.text'] = trim($text) ? $text : $value;

         * If a label is provided, save it. If no label is provided and there is
         * a label name, initialise to an empty string.
        $hasProperty = $options['option.label'] !== null;
        if (isset($options['label'])) {
                $labelProperty = $hasProperty ? $options['option.label'] : 'label';
                $obj->$labelProperty = $options['label'];
        } elseif ($hasProperty) {
                $obj->$options['option.label'] = '';

        // Set attributes only if there is a property and a value
        if ($options['attr'] !== null) {
                $obj->$options['option.attr'] = $options['attr'];

        // Set disable only if it has a property and a value
        if ($options['disable'] !== null) {
                $obj->$options['option.disable'] = $options['disable'];
        return $obj;

<! removed transcluded page call, red link never existed >


Code Examples