0

我正在尝试创建一个下拉表单,其中向用户显示选项的名称,但是当他们选择它时,该选项的 id 就是作为输入传递的内容。这可能吗?

echo form_label('Category');
echo form_dropdown('category_id', $category_options,     
$category[0]->category_name);

现在这只是显示每个选项的 id。

我有这个问题的原因是我的模型正在接受 id,因为这是我能想出让它正确更新的唯一方法,但用户不会真正知道 id 代表什么并且需要名称有意义的下拉菜单。

我正在使用模型中的方法从数据库中获取 ID 和名称。

我是codeigniter的新手,任何帮助将不胜感激!

4

2 回答 2

0

如果您希望类别 ID 为下拉列表值,类别名称为下拉列表中显示的文本,那么您可以尝试如下操作:

$category_options = array();
foreach($categories->result() as $row){
    $category_options[$row->cat_id] = $row->cat_name;
}

echo form_dropdown('category_id', $category_options);

这只是遍历您的数据库结果并将它们放入关联数组中,其中类别 id 是键,类别名称是值。根据您的模型如何获得结果,这可能会有所改变。

于 2015-04-13T22:58:32.980 回答
0

您的 $category_options 数组应格式化为 key => value (category_id => category_name) 对。例如,模型中的数组应该是这样的:

$category_options =array(
  1 => 'category1',
  2 => 'category2'
)
echo form_dropdown('category_id', $category_options, '1');

其中 1 和 2 是类别 ID,类别 1 和类别 2 是类别名称。上面的代码会输出

<select name="category_id">
<option value="1" selected="selected">category1</option>
<option value="2">category2</option>
</select>

有关更多参考,请查看 codeigniter 表单帮助文档:https ://ellislab.com/codeigniter/user-guide/helpers/form_helper.html

于 2015-04-13T20:23:10.490 回答