Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework 单选按钮不得已在zend表单中选中_Zend Framework - Fatal编程技术网

Zend framework 单选按钮不得已在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')

我必须制作zend格式的单选按钮。我使用了以下代码:-

$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”选项。无线电:一组中只能选择一个值,不允许关闭单个输入参考: