You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter动态下拉框无内容问题排查及解决

动态下拉框无内容的排查与解决方法

1. 核对数据库基础信息

  • 确认jenis_pekerjaan表中存在有效数据,若为空则先插入测试选项。
  • 检查模型中$this->db->get('jenis_pekerjaan')的表名是否与数据库实际表名完全一致(Linux环境下MySQL区分表名大小写)。

2. 验证模型数据返回结果

在控制器job_type方法中添加调试代码,确认数据是否正常获取:

public function job_type(){
    $data['jenis_pekerjaan'] = $this->m_lowongan->get_jenis_pekerjaan();
    // 打印数据查看是否为空
    var_dump($data['jenis_pekerjaan']);
    $this->load->view('create_lowongan', $data);
}

访问表单页面查看输出:若为空数组,说明模型未取到数据,需检查数据库连接状态或表访问权限。

3. 确认控制器方法的调用路径

  • 确保表单页面是通过job_type方法加载的,而非直接访问create_lowongan.php文件(直接访问会导致$jenis_pekerjaan变量未定义)。
  • 核对路由配置,确认访问路径正确指向job_type方法。

4. 优化视图代码的容错性

为视图添加空数据判断,避免无数据时下拉框完全空白,同时规范循环语法:

<tr>
    <td>Level Pekerjaan</td>
    <td>
        <select name="jenis_pekerjaan" id="jenis_pekerjaan" class="form-control">
            <?php if(!empty($jenis_pekerjaan)): ?>
                <?php foreach($jenis_pekerjaan as $l): ?>
                    <option value="<?php echo $l['jenis_pekerjaan']; ?>"><?php echo $l['jenis_pekerjaan']; ?></option>
                <?php endforeach; ?>
            <?php else: ?>
                <option value="">暂无可选选项</option>
            <?php endif; ?>
        </select>
    </td>
</tr>

5. 检查字段名与模型加载

  • 确认jenis_pekerjaan表中存在jenis_pekerjaan字段,若字段名不同(如nama_pekerjaan),需同步修改视图中的$l['jenis_pekerjaan']为对应字段名。
  • 确保控制器已加载m_lowongan模型,可在构造方法中添加:
public function __construct(){
    parent::__construct();
    $this->load->model('m_lowongan');
}

内容的提问来源于stack exchange,提问作者Nicho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 06:20:53