Zend框架 - 在选择框中的下拉列表中设置“选择”值(Zend Framework - Set &

2019-08-20 08:32发布

我增加了选择元素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);
        }

我一直在寻找的文档,但无法找到设置预选择元素的选项“选择”的简单方法。

Answer 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.


Answer 2:

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

如上述,可以使用“值” =>“蓝色”用于使“蓝色” =>“布鲁”选中。

我希望这能帮到您..



Answer 3:

在Zend框架2设置的“价值” attribue。 例如默认的选择“是”:

    $this->add( array(
        'name'     => 'isFlexible',
        'type'     => 'Select',
        'options'  => array(
             'label'            => 'Is it flexible?'
            ,'label_attributes' => array( 'placement' => 'APPEND')
            ,'value_options'    => array(
                    ''  => 'Select Below',
                    '0' => 'No',
                    '1' => 'Yes',
                    '2' => 'N/A',
            ),
        ),
        'attributes' => array(
            'id'     => 'is_flexible',
            'value'  => 1,
        ),
    ));


Answer 4:

我认为这应该工作:

$form->setDefault('user', 'value'); // Set default value for element


Answer 5:

要设置默认值,你可以尝试两种setDefault或填充

$form->populate( $array_keypair_values );



Answer 6:

我只是尝试下面的代码从控制器选择显示下拉价值和它做工精细。

$用户>的setValue($值); // $值是的“价值”和$用户是从的元件。



Answer 7:

该解决方案提到将不会为Zend框架2的工作,对于那些谁使用ZF2,我建议使用下面的命令来设置默认值:

    $formX->get('<Select element Name>')->setValue(<the id of the selected item>);


文章来源: Zend Framework - Set 'selected' value in select box dropdown list