这里是我的一段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);