问题描述
我是完美的,但在我看来,第一个选项是 0
并且第一个选项是空的
我需要删除这个 0
和选项为空,但我不知道我该怎么做,这是我的实际代码:
<div class="form-group row ">
{!! Form::label('restaurant_id',trans("lang.blog_restaurant_id"),['class' => 'col-3 control-label text-right']) !!}
<div class="col-9">
{!! Form::select('restaurant_id',[null => null,$restaurant],null,['class' => 'select2 form-control']) !!}
<div class="form-text text-muted">{{ trans("lang.blog_restaurant_id_help") }}</div>
</div>
</div>
$restaurant 这是一个数据数组,用于填充我的选择。我读到第一个选项 null 将所选选项设为空,但生成一个空选项和 0。
谢谢你的帮助。
更新
Laravel 将 optgroup 包含到 Form::select 中,它触发了我的 0
这就是问题所在。我需要删除 optgroup
<select class="select2 form-control select2-hidden-accessible" id="restaurant_id" name="restaurant_id" tabindex="-1" aria-hidden="true">
<option value="" selected="selected"></option>
<optgroup label="0">
<option value="17">Foody Lindgren,Cremin and Erdman gdfgfg fgfg fg fgfg g fggf</option>
<option value="28">restaurante de pruebas</option>
<option value="29">probando</option>
<option value="30">pincho de castilla2</option>
</optgroup>
更新 2
获取餐厅列表:
$restaurant = $this->restaurantRepository->pluck('name','id');
这是刀片的结果:
{"17":"Foody Lindgren,Cremin and Erdman gdfgfg fgfg fg fgfg g fggf","28":"restaurante de pruebas","29":"probando","30":"pincho de castilla2"}
添加到数组():
$restaurant = $this->restaurantRepository->pluck('name','id');
$restaurant->toArray();
相同的结果
解决方法
请试试这个。添加空白键和空白值,如下所示。
{!! Form::select('restaurant_id',["" => "",$restaurant],null,['class' => 'select2 form-control']) !!}
,
看来 $restaurant
是一个数组。
所以,你最好这样做:
Form::select('restaurant_id',$restaurant,['class' => 'select2 form-control'])
您可能需要为您的控制器中的 $restaurant
进行适当的映射,具体取决于您的需要,例如在开头添加一个空选项。
// in Controller
$options = ["" => "select"] + $restaurant;
// In view
Form::select('restaurant_id',$options,['class' => 'select2 form-control'])
更新 2
您应该确保将 $restaurant
作为数组发送:
$restaurant = $this->restaurantRepository->pluck('name','id')->toArray();
用于添加空选项:
$restaurant = ["" => "select"] + $restaurant;
还有一个选择:
您甚至可以手动添加选择框,而不是使用 Form::select
。
<select class="select2 form-control" id="restaurant_id" name="restaurant_id">
<option value="" selected="selected"></option>
@foreach($restaurant as $value => $option)
<option value="{{ $value }}">{{ $option }}</option>
@endforeach
</select>