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


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值)

看到您的代码,我猜您在控制器中
要创建一个选择元素,您应该这样做:

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

希望它能帮助你。

使用此

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

使用方便。

$form->setValue($default_select);

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

这是我的解决方案:

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