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.