Zend Form-如何删除optgroup标签


Zend Form - How do I remove the optgroup label

我知道以前有人问过这个问题,但我似乎找不到答案。。。或解决方案。

我有很多选择框使用"多选"。下拉列表是从数据库中填充的,数组中的第一个值始终为"Select One"。这一点我无法改变,我正在重写一个应用程序,根本没有更改数据库。

一切都很好,但它们总是以带有标签的"optgroup"标签出现,标签总是将"0"放在列表的顶部。方框总是写着"选择一个",这很好,但当展开时,你会看到顶部的"0"。。。它是optgroup标记的"label"属性。

我总是这样做。。。

$Criteria = new Criteria();
$Criteria->add( DictionaryPeer::CATEGORY, 'Progress Notes: Program Status' );
$Criteria->addAscendingOrderByColumn( 'Ordinal' );
$ProgramStatuses = DictionaryPeer::doSelect($Criteria);
$ProgramStatusList = array();
foreach ($ProgramStatuses as $ProgramStatus) {
    $ProgramStatusList [ $ProgramStatus->getDictionaryID() ] = $ProgramStatus->getWord();
}
$form->programstatus->addMultiOptions( array(
$ProgramStatusList ));
echo $form->programstatus->renderLabel() . $form->programstatus->renderViewHelper();

我只想删除"0",仅用于演示目的。。。

任何帮助我们都将不胜感激。。。

谢谢!

如果你想摆脱OPTGROUP,你只需要将一个简单的数组作为参数传递给addMultiOptions(),如下所示:

$form->programstatus->addMultiOptions($ProgramStatusList);

因为如果传递多维数组,Zend_Form将间接地将父数组的每个索引视为一组选项(使用FormElement视图帮助程序)。