0

目前,我在 ZF2 中有这个选择代码。效果很好,没有问题,但是!我想将 id 或 class 属性放入其中一个选项中。ZF2目前有可能吗?

    $this->add(
        array(
            'name' => 'number_of_rooms',
            'type' => 'Zend\Form\Element\Select',

            'options' => array(
                'label' => 'Number of Rooms',
                'options' => array(
                    array(
                        'value' => '',
                        'label' => '- number of rooms -',
                        'disabled' => true,
                    ),
                    array(
                        'value' => 'one bedrooms,
                        'label' => '1 Bedrooms',
                    ),
                    array(
                        'value' => 'two bedrooms',
                        'label' => '2 Bedrooms',
                    ),
                    array(
                        'value' => 'three bedrooms',
                        'label' => '3 Bedrooms',
                    ),

                ),
            ),
            'attributes' => array(
                'id'    => 'number_of_rooms',
            ),
        )
    );
4

1 回答 1

0

你需要做两件事。首先是编写自己的 SelectElement 扩展Zend\Form\Element\Select,然后您还需要编写自己的 ViewHelper 渲染 Select,最简单的扩展Zend\Form\View\Helper\FormSelect

使用内置的 Select 唯一有效的选项是:

//FormSelect.php #43-48
protected $validOptionAttributes = array(
    'disabled' => true,
    'selected' => true,
    'label'    => true,
    'value'    => true,
);

您可以从上面链接的类中检查这一点。

于 2012-10-25T06:20:46.497 回答