Laravel编辑表单 - 选择默认选择

时间:2017-08-28 13:04:45

标签: laravel-5

我正在Laravel中创建一个编辑表单,我想在Select Dropdown中选择所选的(数据库)值。我现在正在做,如下所示。是正确的方法还是更好的方法?我正在使用Laravel 5.4。

<select class="form-control" id="type" name="type">
   <option value="admin" @if($user->type==='admin') selected='selected' @endif>Admin</option>
   <option value="telco" @if($user->type==='telco') selected='selected' @endif>Telco</option>
   <option value="operator" @if($user->type==='operator') selected='selected' @endif>Operator</option>
   <option value="subscriber" @if($user->type==='subscriber') selected='selected' @endif>Subscriber</option>
</select>

2 个答案:

答案 0 :(得分:1)

我会说这是一种正常的做法。

如果你想让它变得更友好&#34;这需要一些开销,例如使用@foreach循环来循环一个数组,该数组将为select创建所有选项,如下所示:

$arr = ['admin','telco','operator','subscriber'];

@foreach($arr as $item)
   <option value="{{ $item }}" @if($user->type=== $item) selected='selected' @endif> {{ strtoupper($item) }}</option>
@endforeach

答案 1 :(得分:0)

您也可以使用三元运算符代替if

<select class="form-control" id="type" name="type">
    <option value="admin" {{($user->type ==='admin') ? 'selected' : ''}}> Admin </option>
    <option value="telco" {{($user->type ==='telco') ? 'selected' : ''}}> Telco </option>
    <option value="operator" {{($user->type ==='operator') ? 'selected' : ''}}> Operator </option>
    <option value="subscriber" {{($user->type ==='subscriber') ? 'selected' : ''}}> Subscriber </option>
</select>