Zend 框架 - 在选择框下拉列表中设置“所选”值

2022-08-30 20:11:43

我正在向Zend_Form实例添加一个选择元素,如下所示:

  $user = $form->createElement('select','user')->setLabel('User: ')->setRequired(true);
  foreach($users as $u)
        {
            if($selected == $u->id)
            {
                $user->addMultiOption($u->id,$u->firstname.' '.$u->lastname);
                //*** some way of setting a selected option? selected="selected"

            }
            else
                $user->addMultiOption($u->id,$u->firstname.' '.$u->lastname);
        }

我一直在搜索文档,但找不到一种简单的方法来将选择元素的选项预先设置为“已选择”。


答案 1

我刚刚弄清楚了如何做到这一点。

您必须使用元素的 setValue() 方法:

$user = $form->createElement('select','user')->setLabel('User: ')->setRequired(true);
    foreach($users as $u)
        $user->addMultiOption($u->id,$u->firstname.' '.$u->lastname);

$user->setValue($selected); //$selected is the 'value' of the <option> that you want to apply selected="selected" to.

答案 2
$form->addElement('select','foo',
array(
        'label'        => 'ComboBox (select)',
        'value'        => 'blue',
        'multiOptions' => array(
            'red'    => 'Rouge',
            'blue'   => 'Bleu',
            'white'  => 'Blanc',
        ),
    )
);

如上所述,您可以使用“value”=>“blue”来使“blue”=>“Bleu”被选中。

我希望这会帮助你..


推荐