如何使用Zend Framework向表单添加单选按钮?

时间:2011-11-22 19:14:33

标签: forms zend-framework zend-form

问题不在于添加单选按钮表单元素,而是如何以我的脚本格式匹配它。看起来在zend中有多种方法可以做。

这是我的剧本:

 $this->addElement('text', 'time_from', array(
        'id' => 'datepicker',
        'class' => 'time_from',
        'filters' => array('StringTrim', 'StripTags'),
        'required' => true,
        'label' => 'Start Date of the Week: ',
        'value' => ''
    ));

    $update = $this->addElement('submit', 'update', array(
        'required' => false,
        'ignore' => true,
        'label' => 'Change Time'
            ));

基于此模板,如何添加单选按钮?

我认为合乎逻辑的方法是使用这样的东西:

$this->addElement('radio', 'test', array(
            'label'=>'Test Thing',
            'addMultiOptions'=>array(
                'male' => 'Male',
            'female' => 'Female'
            ),
    ));

但这不会显示任何单选按钮。

我也试过替换:

'male' => 'Male',
'female' => 'Female'

with和array,但我得到了各种错误:

array('male'=>'Male', 'female'=>'Female')

关于如何做到这一点的任何想法?

并且,如果要求太多,也许有人可以解释为什么有这么多方式来做这种形式,以及它们之间的共同提名者是什么。

感谢

1 个答案:

答案 0 :(得分:15)

你说得对,但是由于你用addElement()构建了元素,你没有addMultiOptions(函数名),它只是multiOptions

$this->addElement('radio', 'test', array(
    'label'=>'Test Thing',
    'multiOptions'=>array(
        'male' => 'Male',
        'female' => 'Female',
    ),
));

您可以查看所有Zend_Form elements here修改:更新链接的摘要。