Package Home

Zend Framework 2 Documentation (Manual)

PHK Home

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

Size:18310
Storage flags:no_autoload,compress/gzip (21%)

MultiCheckbox — Zend Framework 2 2.4.2 documentation

MultiCheckboxΒΆ

Zend\Form\Element\MultiCheckbox is meant to be paired with the Zend\Form\View\Helper\FormMultiCheckbox for HTML inputs with type checkbox. This element adds an InArray validator to its input filter specification in order to validate on the server if the checkbox contains values from the multiple checkboxes.

Basic Usage

This element automatically adds a "type" attribute of value "checkbox" for every checkboxes.

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

    $multiCheckbox = new Element\MultiCheckbox('multi-checkbox');
    $multiCheckbox->setLabel('What do you like ?');
    $multiCheckbox->setValueOptions(array(
            '0' => 'Apple',
            '1' => 'Orange',
            '2' => 'Lemon'
    ));

    $form = new Form('my-form');
    $form->add($multiCheckbox);

Using the array notation:

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

    $form = new Form('my-form');
    $form->add(array(
        'type' => 'Zend\Form\Element\MultiCheckbox',
        'name' => 'multi-checkbox',
        'options' => array(
            'label' => 'What do you like ?',
            'value_options' => array(
                '0' => 'Apple',
                '1' => 'Orange',
                '2' => 'Lemon',
            ),
        )
    ));

Advanced Usage

In order to set attributes or customize the option elements, an array can be used instead of a string. The following keys are supported:

  • "label" - The string displayed for the option.
  • "value" - The form value associated with the option.
  • "selected" - Boolean that sets whether the option is marked as selected.
  • "disabled" - Boolean that sets whether the option will be disabled
  • "attributes" - Array of html attributes that will be set on this option. Merged with the attributes set on the element.
  • "label_attributes" - Array of html attributes that will be set on the label. Merged with the attributes set on the element’s label.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
   $form = new Form('my-form');
   $form->add(array(
       'type' => 'Zend\Form\Element\MultiCheckbox',
       'name' => 'multi-checkbox',
       'options' => array(
           'label' => 'What do you like ?',
           'value_options' => array(
               array(
                   'value' => '0',
                   'label' => 'Apple',
                   'selected' => false,
                   'disabled' => false,
                   'attributes' => array(
                       'id' => 'apple_option',
                       'data-fruit' => 'apple',
                   ),
                   'label_attributes' => array(
                       'id' => 'apple_label',
                   ),
               ),
               array(
                   'value' => '1',
                   'label' => 'Orange',
                   'selected' => true,
               ),
               array(
                   'value' => '2',
                   'label' => 'Lemon',
               ),
           ),
       ),
   ));

Public Methods

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

setOptions(array $options)

Set options for an element of type Checkbox. Accepted options, in addition to the inherited options of Zend\Form\Element\Checkbox, are: "value_options", which call setValueOptions.

setValueOptions(array $options)

Set the value options for every checkbox of the multi-checkbox. The array must contain a key => value for every checkbox.

getValueOptions()

Return the value options.

Return type:array
unsetValueOption($key)

Unset the value option from the multi-checkbox.

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 MultiCheckbox 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