Package Home

Zend Framework 2 Documentation (Manual)

PHK Home

File: /modules/zend.form.element.select.html

Size:20213
Storage flags:no_autoload,compress/gzip (19%)

Select — Zend Framework 2 2.4.2 documentation

SelectΒΆ

Zend\Form\Element\Select is meant to be paired with the Zend\Form\View\Helper\FormSelect for HTML inputs with type select. This element adds an InArray validator to its input filter specification in order to validate on the server if the selected value belongs to the values. This element can be used as a multi-select element by adding the “multiple” HTML attribute to the element.

Basic Usage

This element automatically adds a "type" attribute of value "select".

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
     use Zend\Form\Element;
     use Zend\Form\Form;

     $select = new Element\Select('language');
     $select->setLabel('Which is your mother tongue?');
     $select->setValueOptions(array(
             '0' => 'French',
             '1' => 'English',
             '2' => 'Japanese',
             '3' => 'Chinese',
     ));

     $form = new Form('language');
     $form->add($select);

Using the array notation:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
 use Zend\Form\Form;

     $form = new Form('my-form');
     $form->add(array(
             'type' => 'Zend\Form\Element\Select',
             'name' => 'language',
             'options' => array(
                     'label' => 'Which is your mother tongue?',
                     'value_options' => array(
                             '0' => 'French',
                             '1' => 'English',
                             '2' => 'Japanese',
                             '3' => 'Chinese',
                     ),
             )
     ));

You can add an empty option (option with no value) using the "empty_option" option:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
 use Zend\Form\Form;

     $form = new Form('my-form');
     $form->add(array(
             'type' => 'Zend\Form\Element\Select',
             'name' => 'language',
             'options' => array(
                     'label' => 'Which is your mother tongue?',
                     'empty_option' => 'Please choose your language',
                     'value_options' => array(
                             '0' => 'French',
                             '1' => 'English',
                             '2' => 'Japanese',
                             '3' => 'Chinese',
                     ),
             )
     ));

Option groups are also supported. You just need to add an ‘options’ key to the value options.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
     use Zend\Form\Element;
     use Zend\Form\Form;

     $select = new Element\Select('language');
     $select->setLabel('Which is your mother tongue?');
     $select->setValueOptions(array(
      'european' => array(
         'label' => 'European languages',
         'options' => array(
            '0' => 'French',
            '1' => 'Italian',
         ),
      ),
      'asian' => array(
         'label' => 'Asian languages',
         'options' => array(
            '2' => 'Japanese',
            '3' => 'Chinese',
         ),
      ),
     ));

     $form = new Form('language');
     $form->add($select);

Public Methods

The following methods are in addition to the inherited methods of Zend\Form\Element .

setOptions(array $options)

Set options for an element. Accepted options, in addition to the inherited options of Zend\Form\Element, are: "value_options", "empty_option" and "disable_inarray_validator", which call setValueOptions, setEmptyOption and setDisableInArrayValidator, respectively.

setValueOptions(array $options)

Set the value options for the select element. The array must contain key => value pairs.

getValueOptions()

Return the value options.

Return type:array
unsetValueOption($key)

Unset the value option from the select element.

setEmptyOption($emptyOption)

Optionally set a label for an empty option (option with no value). It is set to “null” by default, which means that no empty option will be rendered.

getEmptyOption()

Get the label for the empty option (null if none).

Return type:string|null

This Page

Note: You need to stay logged into your GitHub account to contribute to the documentation.

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to Select on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.

For more information about the PHK package format: http://phk.tekwire.net