2012-04-02 57 views
0

我知道這已被問過,但我似乎不能找到答案...或解決方案。Zend Form - 我如何刪除optgroup標籤

我有很多選擇框使用'多選'。下拉列表正在從數據庫中填充,並且數組中的第一個值始終爲「選擇一個」。這我不能改變,我正在重寫一個應用程序,根本不改變數據庫。

一切工作正常,但他們總是作爲具有標籤的'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」 ......

任何幫助總是讚賞...

謝謝!

回答

1

如果你想擺脫OPTGROUP的,你只需要通過一個簡單的數組作爲參數addMultiOptions()如下:

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

因爲如果你傳遞一個多維數組地,Zend_Form將間接考慮父數組的每個索引作爲group of options(使用FormElement View Helper)。

+0

太簡單了!非常感謝,現在我有很多backspacing要做:) – rhaag71 2012-04-02 05:17:55

+0

不客氣;) – Liyali 2012-04-02 05:18:57