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

CodeIgniter编辑页如何展示多选下拉框已选中值 选中值不显示怎么办

解决方案

核心问题说明

你使用row_array()查询assignuserstable只能获取单条记录,而多选场景下同一个user_id会对应多条关联记录,原有判断逻辑只能匹配到第一个选中值,无法满足多选需求。

具体修改步骤

1. 修改编辑页关联数据查询逻辑

将原有单条查询改为批量查询,提取所有已选中的管理员ID为一维数组:

<?php 
// 替换原有$assignuserstable查询代码
$assigned_admin_list = $this->db->get_where('assignuserstable',array('user_id'=>$user_id))->result_array();
$selected_admin_ids = array_column($assigned_admin_list, 'admin_id');
?>

2. 修改下拉框选中判断逻辑

将原有单值相等判断改为数组包含判断:

<option value="<?php echo $row2['admin_id'];?>"
    <?php if(in_array($row2['admin_id'], $selected_admin_ids)) echo 'selected';?>>
    <?php echo $row2['first_name'];?>
</option>

3. 修复模型层隐藏bug

你现有模型代码中$insertId = $this->db->insert_id缺少方法括号,会导致插入的关联数据user_id异常,修改为:

$insertId = $this->db->insert_id();

4. 适配selectpicker插件渲染(可选)

如果你使用的是bootstrap-select的selectpicker组件,需要在页面加载完成后手动刷新组件才能正常显示多选选中状态:

$(function(){
    $('#admin_id').selectpicker('refresh');
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:54:03