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);
}
Я искал документы, но не могу найти простой способ предварительной установки опции выбора в "selected".
Ответы
Ответ 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'.
Надеюсь, это поможет вам.
Ответ 3
В Zend Framework 2 задайте атрибут "значение". Например, по умолчанию выберите "Да":
$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,
),
));
Ответ 4
Я думаю, что это должно сработать:
$form->setDefault('user', 'value'); // Set default value for element
Ответ 5
Чтобы установить значения по умолчанию, вы можете попробовать установить setDefault или заполнить
$form->populate( $array_keypair_values );
Ответ 6
Я просто пробую следующий код, чтобы показать выпадающее значение, выбранное из контроллера, и оно отлично работает.
$user- > SetValue ($ значение);//$value - это значение '$' и $user является элементом from.
Ответ 7
Указанные решения не будут работать для Zend Framework 2, для тех, кто использует Zf2, я предлагаю использовать следующую команду для установки значения по умолчанию:
$formX->get('<Select element Name>')->setValue(<the id of the selected item>);