表单加载时设置默认值

时间:2013-01-12 19:19:04

标签: php javascript html forms codeigniter

   <?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>

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

2 个答案:

答案 0 :(得分:1)

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

传递多个项目的数组
<?php echo form_dropdown('select1', $records2, $selected_value);  ?>

答案 1 :(得分: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>,并以数组键作为标签。