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

Laravel中如何从数据库取数据并在selectpicker展示?提交后重复显示问题

解决Selectpicker中数据重复展示的问题

嘿,我看到你遇到了selectpicker里数据重复的问题,这是因为你先单独把已提交的目的地作为一个option放在最前面,然后又遍历了完整的目的地列表,当已提交的目的地存在于列表中时,就会出现重复项啦。咱们来调整一下代码,既能正确展示选中的选项,又不会产生重复:

问题根源

你当前的代码先手动添加了一个包含已提交目的地的option,随后又遍历所有目的地生成option,这就导致如果已提交的目的地在列表中存在,就会出现两次相同的选项。同时这种方式也没有正确利用select的selected属性来标记默认选中项。

修改后的代码

<select id="set1" name="res_destination" class="selectpicker form-control edit" data-live-search="true" style="width:100%" disabled required>
    @foreach($destination as $getData)
        <option value="{{$getData->REF_TEXT}}" {{ $getData->REF_TEXT == $data[0]->DESTINATION ? 'selected' : '' }}>
            {{$getData->REF_TEXT}}
        </option>
    @endforeach
</select>

代码说明

  • 移除了之前单独添加的<option>{{ $data[0]->DESTINATION }}</option>和空option,避免重复。
  • 在foreach循环中,通过三元判断{{ $getData->REF_TEXT == $data[0]->DESTINATION ? 'selected' : '' }},检查当前遍历到的目的地是否和已提交的目的地一致,如果一致就给这个option加上selected属性,这样selectpicker就会默认选中该选项。
  • 保持了原有的disabled属性,确保详情页的下拉框不可编辑,符合展示需求。

这样修改后,下拉框里只会显示一份完整的目的地列表,并且会自动选中你提交的那一项,不会再有重复问题啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:24:16