Provides a form element for a drop-down menu or scrolling selection box.
Properties:
- #options: An associative array, where the keys are the values for each option, and the values are the option labels to be shown in the drop-down list. If a value is an array, it will be rendered similarly, but as an optgroup. The key of the sub-array will be used as the label for the optgroup. Nesting optgroups is not allowed.
- #empty_option: The label that will be displayed to denote no selection.
- #empty_value: The value of the option that is used to denote no selection.
Usage example:
$form['example_select'] = [ '#type' => 'select', '#title' => $this->t('Select element'), '#options' => [ '1' => $this->t('One'), '2' => [ '2.1' => $this->t('Two point one'), '2.2' => $this->t('Two point two'), ], '3' => $this->t('Three'), ], ];
Plugin annotation
@FormElement("select")
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, StringTranslationTrait
- class \Drupal\Core\Render\Element\RenderElement implements ElementInterface
- class \Drupal\Core\Render\Element\FormElement implements FormElementInterface
- class \Drupal\Core\Render\Element\Select
- class \Drupal\Core\Render\Element\FormElement implements FormElementInterface
- class \Drupal\Core\Render\Element\RenderElement implements ElementInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, StringTranslationTrait
File
- core/lib/Drupal/Core/Render/Element/Select.php, line 38
Namespace
Drupal\Core\Render\Element
Members
Name | Modifiers | Type | Description |
---|---|---|---|
DependencySerializationTrait::$_serviceIds | protected | property | An array of service IDs keyed by property name used for serialization. |
DependencySerializationTrait::__sleep | public | function | |
DependencySerializationTrait::__wakeup | public | function | |
FormElement::processAutocomplete | public static | function | Adds autocomplete functionality to elements. |
FormElement::processPattern | public static | function | #process callback for #pattern form element property. |
FormElement::validatePattern | public static | function | #element_validate callback for #pattern form element property. |
PluginBase::$configuration | protected | property | Configuration information passed into the plugin. |
PluginBase::$pluginDefinition | protected | property | The plugin implementation definition. |
PluginBase::$pluginId | protected | property | The plugin_id. |
PluginBase::DERIVATIVE_SEPARATOR | constant | A string which is used to separate base plugin IDs from the derivative ID. | |
PluginBase::getBaseId | public | function | Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId |
PluginBase::getDerivativeId | public | function | Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId |
PluginBase::getPluginDefinition | public | function | Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition |
PluginBase::getPluginId | public | function | Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId |
PluginBase::__construct | public | function | Constructs a Drupal\Component\Plugin\PluginBase object. |
RenderElement::preRenderAjaxForm | public static | function | Adds Ajax information about an element to communicate with JavaScript. |
RenderElement::preRenderGroup | public static | function | Adds members of this group as actual elements for rendering. |
RenderElement::processAjaxForm | public static | function | Form element processing handler for the #ajax form property. |
RenderElement::processGroup | public static | function | Arranges elements into groups. |
RenderElement::setAttributes | public static | function | Sets a form element's class attribute. Overrides ElementInterface::setAttributes |
Select::getInfo | public | function | Returns the element properties for this element. Overrides ElementInterface::getInfo |
Select::preRenderSelect | public static | function | Prepares a select render element. |
Select::processSelect | public static | function | Processes a select list form element. |
Select::valueCallback | public static | function | Determines how user input is mapped to an element's #value property. Overrides FormElement::valueCallback |
StringTranslationTrait::$stringTranslation | protected | property | The string translation service. |
StringTranslationTrait::formatPlural | protected | function | Formats a string containing a count of items. |
StringTranslationTrait::getNumberOfPlurals | protected | function | Returns the number of plurals supported by a given language. |
StringTranslationTrait::getStringTranslation | protected | function | Gets the string translation service. |
StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. |
StringTranslationTrait::t | protected | function | Translates a string to the current language or to a given language. |
Please login to continue.