我正在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>
答案 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>