0
   <?php echo form_dropdown('item_id', $records2, '#', 'id="items"'); ?>

我想在表单加载时在选择框中设置某些内容的默认值。如果不可能,那么我想将其转换为常规选择框。这样的事情会起作用吗?

<select name="select1" id="items" class='cho'>
<option>--Select--  </option>
    <?php foreach($records2 as $r) { ?>
    <option value="<?=$r->item_id?>">
<?=$r->item_name?>
</option>
<?php } ?>
</select>

我试过这个,但我得到一个错误并且值没有出现在选择框中。我究竟做错了什么?

4

2 回答 2

1

第一个参数将包含字段的名称,第二个参数将包含一个关联的选项数组,第三个参数将包含您希望选择的值。您还可以通过第三个参数传递多个项目的数组

<?php echo form_dropdown('select1', $records2, $selected_value);  ?>
于 2013-01-12T19:27:59.190 回答
0

下面是这个辅助函数的工作原理:

form_dropdown('item_id',    $records3,    '#',           'id="items"')
//             field name   options       default value   HTML attributes

选项必须是键/值格式*的数组,例如:

$options = array(
    'value1' => 'Text 1',
    'value2' => 'Text 2',
    'value3' => 'Text 3'
);

默认值应该是 中的键之一$options,否则什么也不会发生。

看起来您需要先创建此数组,而不仅仅是传入$records2

$options = array();
foreach ($records2 as $r) {
    $options[$r->item_id] = $r->item_name;
}
echo form_dropdown('item_id', $options, '{default value}', 'id="items"');

* 如果作为 $options 传递的数组是多维数组,form_dropdown() 将生成一个<optgroup>以数组键为标签的数组。

于 2013-01-12T19:26:58.577 回答