如何根据来自数据库或模型的数据从下拉菜单中预选要查看的数据。
如果下拉菜单选项发生更改,我也想保存此数据。
我尝试使用此代码
<select class="form-control appointment_status" >
<option <?php if ($row['status'] == 0) { ?> selected <?php } ?> value="0">In process</option>
<option <?php if ($row['status'] == 1) { ?> selected <?php } ?> value="1">Completed</option>
</select>
答案 0 :(得分:0)
尝试这样的事情:
$status = ($row['status']) ? 'selected' : '';
echo <<<END
<option value="0" $status>In process</option>
<option value="1" $status>Completed</option>
END;
答案 1 :(得分:0)
这通常是我想要做的(这将进入您的控制器):
// Select Categories
$categories_options = array();
$categories_options[0] = 'Select Categories';
$categories_list = $this->Terms_model->get_list();
foreach($categories_list as $cat){
$categories_options[$cat->term_id] = $cat->title;
}
$data['categories_options'] = $categories_options;
假设您将$ data变量传递给视图,则可以这样显示它:
<!-- Post Categories -->
<?php
$data = array(
'class' => 'form-control js-example-basic-multiple',
'value' => set_value('categories'),
'multiple' => 'multiple',
);
?>
<div class="form-group">
<?= form_label('Categories','categories'); ?>
<?= form_dropdown('categories[]', $categories_options, 0, $data); ?>
</div>
然后对其进行编辑(不同的视图):
<?php
$options = array(
'' => 'Please select an option',
'0' => 'In process',
'1' => 'Completed',
);
$data = array('class' => 'form-control');
?>
<div class="form-group">
<?= form_label('Status', 'status'); ?>
<?= form_dropdown('status', $options, $item->status, $data); ?>
</div>
显然,您将需要更改更多内容,但是我敢肯定,它将为您提供更好的想法和方法。
答案 2 :(得分:0)
使用类...大多数下拉组件使用 active 类来定义下拉列表中的第一个元素,因此只需将其放在所需的元素上即可完成操作