通八洲科技

如何在 CodeIgniter 表单中正确显示已选中的下拉选项

日期:2025-12-26 00:00 / 作者:碧海醫心

在 codeigniter 中编辑数据时,需让下拉菜单(`

在 CodeIgniter 的表单编辑场景中,常见错误是混淆“选项数据源”和“当前编辑记录”的变量。你提供的原始代码中:

该判断逻辑永远成立(每个 $row 自己等于自己),导致第一个选项始终被选中,无法真实反映数据库中存储的 jurusan 值。

✅ 正确做法是:在控制器中查询并传入当前待编辑的完整记录(例如 $data['data_form'] = $this->model->getById($id);),然后在视图中将 $row->id_jurusan 与 $data_form->id_jurusan 比较:

    
    
        
        
            
        
    

? 关键要点说明:

// 在控制器中(如 Admin_controller.php)
public function edit($id) {
    $data['jurusan'] = $this->jurusan_model->get_all(); // 所有院系选项
    $data['data_form'] = $this->form_model->getById($id); // 当前编辑的记录
    $this->load->view('admin/form_edit', $data);
}

? 进阶建议:
CodeIgniter 的 form_dropdown() 辅助函数可进一步简化逻辑(需配合数组格式数据):

id_jurusan, 'class="form-control" id="jurusan"'); ?>

其中 $jurusan_options 应为 id => nama_jurusan 形式的关联数组(可用 array_column() 转换)。

正确比对来源数据与当前值,是实现“智能默认选中”的核心——既提升用户体验,也保障表单数据一致性。