2013-01-12 29 views
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> 

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

+0

什么*确切*在'$ records3'中? –

+0

来自控制器的值 – user1972143

+0

我更新了我的问题 – user1972143

回答

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"'); 

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

+0

但我从数据库获取值..我可以做到吗? – user1972143

+0

查看更新。 –

+0

那么第三个参数在做什么...我在那里写wate ..没有任何反应 – user1972143

1

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

<?php echo form_dropdown('select1', $records2, $selected_value); ?>