以zend框架的形式设置选定的值

时间:2014-01-15 09:06:45

标签: php mysql zend-framework zend-form zend-form-element

我在zend框架中创建了一个表单。这里我想在编辑记录时从选项中设置选定的值。例如,记录具有组ID值3.
这在添加记录和编辑记录时工作正常我没有被选中到第三个选项 我写了下面的代码,但它没有用。

   $group_id = $this->createElement('select','group_id');
   $group_id->setLabel('Category:')
               ->addMultiOptions(array(
                '1' => 'A',
                '2' => 'B', 
                '3' => 'C',
                '4' => 'D'                       
                    ))               
           ->setRequired(true)
           ->setDecorators(array('ViewHelper','Errors'));
   $group_id->setValue(3);

adminController.php

$id =  $this->_request->getParams('id');        
$row = $content->find($id)->toArray();
$form->populate($row[0]);

这将填充所有字段中的数据,而不是设置选择用于下拉列表。 此处第3个选项应显示已选中但始终显示第1个选项。

如果我在这里遗漏任何东西,请告诉我。

1 个答案:

答案 0 :(得分:1)

尝试不设置任何选定值

$group_id = $this->createElement('select','group_id');
$group_id->setLabel('Category:')
           ->addMultiOptions(array(
            '1' => 'A',
            '2' => 'B', 
            '3' => 'C',
            '4' => 'D'                       
                ))               
       ->setRequired(true)
       ->setDecorators(array('ViewHelper','Errors'));

你也可以这样做

$form->addElement('select','group_id',
array(
        'label'        => 'Category:',
        'multiOptions' => array(
            '1'  => 'A',
            '2'  => 'B',
            '3'  => 'C',
            '4'  => 'D',
        ),
    )
);