Zend framework 单选按钮不得已在zend表单中选中
我必须制作zend格式的单选按钮。我使用了以下代码:-Zend framework 单选按钮不得已在zend表单中选中,zend-framework,Zend Framework,我必须制作zend格式的单选按钮。我使用了以下代码:- $GiftEscalated = new Zend_Form_Element_Radio('IsEscalated'); $GiftEscalated->setLabel('Gift Escalated') ->setRequired(false) ->addFilter('StripTags') ->addFilter('StringTrim')
$GiftEscalated = new Zend_Form_Element_Radio('IsEscalated');
$GiftEscalated->setLabel('Gift Escalated')
->setRequired(false)
->addFilter('StripTags')
->addFilter('StringTrim')
->addMultiOptions(array('Yes','No'))
->setDecorators(array('ViewHelper',
'Description',
'Errors',
array(array('data'=>'HtmlTag'), array('tag' => 'td')),
array('Label', array('tag' => 'td')),
array(array('row'=>'HtmlTag'),array('tag'=>'tr', 'openOnly'=>true))
));
它起作用了。显示单选按钮,但已选中一个按钮。我不想那样。我希望单选按钮不能已经被选中
请提供帮助。多选项应为关联数组,因此您需要:
->addMultiOptions(array('yes' => 'Yes', 'no' => 'No'))
而不是您当前拥有的(键是提交的值,因此根据需要进行更改)
如果您希望提交0和1,那么这将更加清楚:
->addMultiOptions(array('0' => 'Yes', '1' => 'No'))
但是您需要删除这两个过滤器(这两个过滤器实际上没有任何用途)
我认为问题在于,您的表单当前将使用“0”作为第一个元素的值,该元素与修剪过滤器将等同于null,这是表单最初的值。您可以选中复选框吗?不完全清楚您想要的选择逻辑,但是带有验证逻辑的复选框可能会更好。否则,您可以使用radio并添加“none”或“none of the over”选项。无线电:一组中只能选择一个值,不允许关闭单个输入参考: