如何在下拉列表中选中项目

How to make item selected in dropdown list

这是我的一段 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 值已经在下拉列表中选择)

使用这个

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

简单易用。

$form->setValue($default_select);

$default_select - 必须是选项 "key" 而不是 "value"

看到你的代码,我猜你在控制器中。
要创建 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));

class表格也是一样的道理

要设置默认值,您必须使用键,所以如果您只有一个值,您可以这样做:

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

希望对您有所帮助。

这是我的解决方案:

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