Actions

API16

JHtmlSelect/option

From Joomla! Documentation

< API16:JHtmlSelect
Revision as of 17:51, 22 March 2010 by Doxiki (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

Contents

Description

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

[Edit Descripton]

Description:JHtmlSelect/option

Syntax

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

Returns

object

Defined in

libraries/joomla/html/html/select.php

Importing

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;
}

[Edit See Also] SeeAlso:JHtmlSelect/option

Examples

<CodeExamplesForm />