Forms 如何在Zend Framework 2中向下拉列表中的每个选项添加类和差异参数
标题很清楚,我想添加类和数据imagesrc以使用自定义下拉列表: 但是这个代码没有任何好处Forms 如何在Zend Framework 2中向下拉列表中的每个选项添加类和差异参数,forms,zend-framework2,Forms,Zend Framework2,标题很清楚,我想添加类和数据imagesrc以使用自定义下拉列表: 但是这个代码没有任何好处 $this->add(array( 'name' => 'require_course_id', 'type' => 'Zend\Form\Element\Select', 'attributes' => array( ), 'options' =
$this->add(array(
'name' => 'require_course_id',
'type' => 'Zend\Form\Element\Select',
'attributes' => array(
),
'options' => array(
'label' => 'prerequisite',
'value_options' => array(array('label'=>'test','class'=>'test-class','data-imagesrc'=>'myimage')),//$this->getPrerequisite(),
),
));
如果查看一下,您将能够看到每个
是如何生成的(以及如何合并提供的配置以生成最终的HTML字符串)
将选项标记的“specification”作为一个数组提供,该数组带有属性
键(就像选择
元素本身一样)
value\u options用于设置select元素()包含的选项。只需键/值,因为这是ZF2 Select渲染器所期望的
您需要创建自己的辅助对象,以便能够从视图中绘制它。从Zend\Form\View\Helper\FormSelect扩展它,并覆盖renderOptions功能。“您需要创建自己的助手”-而不是true@AlexP你说得对。我看效果图太快了。。。你的答案很好。别忘了标签上只有几个属性,我不相信“类”是其中之一。看见如果我错了,请纠正我@JaapMoolenaar非常有效的观点;我做了-但是没有特别提到这一点(它确实说“全局属性”是允许的,
class
是其中之一),这在你的文章中是绝对正确的!谢谢顺便说一下,另一件事是value\u options->options
config是用于optgroup的。
$this->add(array(
'name' => 'require_course_id',
'type' => 'Zend\Form\Element\Select',
'attributes' => array(),
'options' => array(
'label' => 'prerequisite',
'value_options' => array(
// For each option you require, provide it's own specification
array(
'label' => 'option 1 label',
'value' => 'opt1value',
'options' => array(
// value and label can also be here
),
'attributes' => array(
// again value and label are ok here too
'class' => 'test-class',
'data-foo' => 'bar'
),
),
// end option 1 specification
),
),
));