Laravel 8表单编辑时如何保留下拉框选中选项?
解决编辑表单select下拉框默认选中问题
你只需要在循环生成<option>标签时,判断当前品种ID是否和当前宠物关联的品种ID一致,匹配的选项添加selected属性即可。
修改后的select代码如下:
<div class="form-group"> <label for="id_raza">Raza</label> <select class="form-control" id="id_raza" name="id_raza" placeholder="Raza"> <!-- 可选:添加空选项处理nullable字段的无选中情况 --> <option value="" {{ is_null($mascota->id_raza) ? 'selected' : '' }}>请选择品种</option> @foreach ($razas as $raza) <option value="{{$raza->id}}" {{ $raza->id == $mascota->id_raza ? 'selected' : '' }}>{{ $raza->Nombre}}</option> @endforeach </select> </div>
逻辑说明
- 控制器已将当前宠物数据
$mascota传递到视图,$mascota->id_raza就是该宠物对应的品种ID - 循环遍历品种列表时,对比当前品种ID和宠物关联的品种ID,匹配则给
<option>加上selected属性,页面加载时该选项会自动选中 - 由于你的
id_raza字段是nullable类型,添加空选项可以处理宠物未关联品种时的默认选中场景
内容的提问来源于stack exchange,提问作者Omar Caballero
相关产品推荐
相关产品推荐

