如何基于每个选项设置类属性(在选择中)?

时间:2015-07-25 20:25:31

标签: laravel-4

我可以使用以下内容创建<select>

{{ Form::select('age', [
   'young' => 'Under 18',
   'adult' => '19 to 30',
   'adult2' => 'Over 30']
) }}

这将呈现如下:

<select name="age">
  <option value="young">Under 18</option>
  <option value="adult">19 to 30</option>
  <option value="adult2">Over 30</option>
</select>

但是如何为每个class添加<option>属性?

如果我必须写出HTML,我如何根据模型数据维护预先选择的选项?

1 个答案:

答案 0 :(得分:1)

如怀疑的那样,你需要自己做这件事。我通常从控制器传递选定的选项:

// Controller
return view('my-view', ['ages' => $ages, 'selectedAge' = $selectedAge]);

// my-view.blade.php
<select name="age">
@foreach ($ages as $value => $name)
    <?php $selected = ($selectedAge === $value) ? 'selected="selected"' : ''; ?>
    <option class="age-{{ $value }}" value="{{ $value }}" {{ $selected }}>
        {{ $name }}
    </option>
@endforeach
</select>