PHP CodeIgniter - 使用foreach下拉列表不显示“已选择”值

时间:2011-03-01 01:50:53

标签: php forms codeigniter drop-down-menu

我正在使用

为我的下拉列表生成选项
// view.php
foreach ($plants as $row):
    $options[$row->plant_id] = $row->plant_name;
endforeach;

然后在view.php的HTML部分中降低

//view.php
$js = 'onChange = "plantDateDelete(\'/size/get_dates_for_plant/\'+this.value);"';
echo form_dropdown('plant_id', $options, 'Select', $js);

下拉菜单显示选项确定,但它不会将“选择”显示为“已选择”/默认值。它显示的是数组的第一个选项。

HTML源代码还显示form_dropdown中的“选择”被忽略。

我真的需要这个下拉列表显示默认为“选择”,以强制用户激活onChange功能。

知道这里发生了什么或如何解决这个问题?

1 个答案:

答案 0 :(得分:7)

您需要在$ options数组中使用默认选项...

所以在你的foreach之前,做:

$options = array('Select');

我应该补充一下,这将在下拉列表中显示值0,但作为数组中的第一个元素,默认情况下将选中它,除非另一个选项作为默认值传递。

如果要将此值显式设置为默认值,则将0作为默认参数传递。