我正在使用Zend Framework 1.12,使用一些选择选项来操作表单。问题是我被要求删除默认选项,该选项在表单的开头显示,以便选择菜单在开头是空的,但是只能填充三个值。我的代码如下:
$tipo = new Zend_Form_Element_Select ( 'tipo', array (
'onchange' => 'checkServer(this.value);'
) );
$tipo->setLabel ( 'Kerio Product' )->setRequired ()->addMultiOptions ( array (
'1' => 'Connect',
'2' => 'Control',
'3' => 'Operator'
) );
$this->addElement( $tipo )
$ this_setValue( “”);不起作用
答案 0 :(得分:1)
尝试使用此代码(您需要在类中扩展Zend_Form)。
$this->addElement('select', 'KerioProduct', array(
'multiOptions' => array('' => "") + Zend_Registry::get('config')->lists->yourProducts->toArray()/* if you store your options in a file: 'connect, control... in your case: OR create an array 1=>connect , 2=>control... */,
'required' => true,
'validators' => array (
'NotEmpty' => array (
'validator' => 'NotEmpty',
'options' => array (
'messages' => $tr->_('select a product ')
)
)
)
));
希望它有所帮助。
答案 1 :(得分:1)
您可以将null或“”设置为第一个选项,如下所示:
- > addMultiOptions(array('0'=>'','1'=>'Connect'....
答案 2 :(得分:1)
如果您希望Select菜单为空,则需要将zend forms的Register array validator设置为false;选择元素将为空,并且可以没有验证错误。
你可以通过以下方式做到这一点。
$tipo = new Zend_Form_Element_Select ( 'tipo', array (
'onchange' => 'checkServer(this.value);'
)
);
$tipo->setLabel ( 'Kerio Product' )
->setRequired () // You don't need this in this case
->setRegisterInArrayValidator(false);
将select元素设置为空,但不会出现数组验证错误。如何添加选择选项,取决于您可以在控制器上或视图中执行此操作。
->addMultiOptions ( array (
'1' => 'Connect',
'2' => 'Control',
'3' => 'Operator'
) )
我希望在您的问题中添加一些