bog*_*jov 10 php zend-form multi-select zend-framework2
Zend Framework 1.12中有一个Zend_Form_Element_Multiselect.如何在Zend Framework 2.0中实现相同的结果?我只看到Zend\Form\Element\MultiCheckbox和Zend\Form\Element\Select
bog*_*jov 24
好的,我自己找到了答案,从官方文档中读出来并不容易,而是一个实验解决方案:
$this->add(array(
'type' => 'Zend\Form\Element\Select',
'attributes' => array(
'multiple' => 'multiple',
),
'name' => 'langs',
'options' => array(
'label' => 'langs',
'value_options' => array(
'0' => 'French',
'1' => 'English',
'2' => 'Japanese',
'3' => 'Chinese',
),
),
));
Run Code Online (Sandbox Code Playgroud)
只需添加
'attributes' => array(
'multiple' => 'multiple',
),
Run Code Online (Sandbox Code Playgroud)
到你的设置.
小智 5
Jevgeni 的答案的一个补充:确保将“[]”添加到元素名称中,否则最终只会得到最后选择的值。这是一个PHP问题,与ZF2无关。所以最终的配置如下所示:
$this->add(array(
'type' => 'Zend\Form\Element\Select',
'attributes' => array(
'multiple' => 'multiple',
),
// NOTE the addition of "[]" to the name:
'name' => 'langs[]',
'options' => array(
'label' => 'langs',
'value_options' => array(
'0' => 'French',
'1' => 'English',
'2' => 'Japanese',
'3' => 'Chinese',
),
),
));
Run Code Online (Sandbox Code Playgroud)