Zend Framework – установите «выбранное» значение в выпадающем списке выбора окна выбора

Я добавляю элемент select к экземпляру 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); } 

Я искал документы, но не могу найти простой способ предварительной настройки опции select на «selected».

Я только что разработал, как это сделать.

Вы должны использовать метод 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. 
 $form->addElement('select','foo', array( 'label' => 'ComboBox (select)', 'value' => 'blue', 'multiOptions' => array( 'red' => 'Rouge', 'blue' => 'Bleu', 'white' => 'Blanc', ), ) ); 

Как и выше, вы можете использовать 'value' => 'blue' для выбора 'blue' => 'Bleu'.

Я надеюсь, что это поможет вам..

В Zend Framework 2 задайте атрибут value. Например, по умолчанию выберите «Да»:

  $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, ), )); 

Я думаю, что это должно сработать:

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

Чтобы установить значения по умолчанию, вы можете попробовать установить setDefault или заполнить

$form->populate( $array_keypair_values );

Я просто пробую следующий код, чтобы показать выпадающее значение, выбранное из контроллера, и оно работает нормально.

$ User-> SetValue ($ значение); // $ value – это значение 'value' и $ user является элементом from.

Указанные решения не будут работать для Zend Framework 2, для тех, кто использует Zf2, я предлагаю использовать следующую команду для установки значения по умолчанию:

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