Как сделать элемент выбранным в выпадающем списке

Вот фрагмент моего php-кода, связанный с созданием выпадающего списка:

$s_t = array(
"key1" => "value1",
"key2" => 'value2',
"key3" => 'value3');
$default_select = "value2";

$attr = array("id" => "name");
$form->addElement('select','name',"Choose your option:",$s_t, $attr);

Как сделать выбранный по умолчанию элемент в списке, согласно $default_select значение?

(когда пользователь загрузит страницу, он увидит, что значение $ default_select уже выбрано в выпадающем списке)

0

Решение

Видя твой код, я думаю, ты в контроллере.
Чтобы создать элемент select, вы должны сделать это:

$s_t = array(
"key1" => "value1",
"key2" => 'value2',
"key3" => 'value3');

$form->addElement('select','name');
$form->getElement('name')->setLabel('Choose your option:')
->addMultiOptions($s_t);

Или с одной инструкцией:

$form->addElement('select','name', array('label'=>'Choose your option:',
'MultiOptions' => $s_t));

Это тот же принцип, если вы находитесь в форме класса.

Чтобы ввести значение по умолчанию, вы должны использовать ключ, поэтому, если у вас есть только значение, вы можете сделать это:

$default_select = "value2";
$form->getElement('name')->setValue(array_search($default_select, $s_t));

Надеюсь, это поможет вам.

1

Другие решения

Использовать этот

$default_select = "value2";
$form->setValue($default_select);
0

Простота использования.

$form->setValue($default_select);

$ default_select — должна быть опция «ключ», а не «значение»

0

Вот мое решение:

    $s_t = array(
"key1" => "value1",
"key2" => 'value2',
"key3" => 'value3');
$default_select = "value2";

$attr = array("id" => "name");
$element = $form->createElement('select','name',"Choose your option:",$s_t, $attr);
$element->setValue($default_key);
$form->addElement($element);
0
По вопросам рекламы [email protected]