我正在构建一个页面来编辑一个记录,但是我很难显示一个选择选项,其中先前保存/记录的条目为:selected。
选择显示从1990年到2015年的年份选项。
这是我迄今为止所做的:
<select name="term_a" class="form-control">
<option value="0">Choose a year</option>
@for ($i = 1990; $i < 2015; $i++)
<option value="{{ $i }}">{{ $i }}</option>
@endfor
</select>
如何将以前存储的数据设为:选中?
编辑:
我忘了提到我确实将表单绑定到这样的模型:
{!! Form::model($userdetails) !!}
这个工作正常,我唯一的问题是选择选择将旧数据取为:selected。
答案 0 :(得分:2)
这应该这样做:
<option value="{{ $i }}" {{ Input::old('term_a') == $i ? 'selected' : '' }}>{{ $i }}</option>
答案 1 :(得分:2)
我建议你使用最简单的HTML / FormBuilder类
https://github.com/illuminate/html
使用它
// Save your list on a var
$years_list = ['1999', '2000', ... ]
// open form with model parameters and update action
{!! Form::model($model, ['url' => action('MyController@update', $model), 'method' => 'put']) !!}
// in your database the name of column = "year"
{!! Form::select('year', $years_list, null, ['class' => 'form-control']) !!}
// dont forget to close
{!! Form::close() !!}
这是FormBuilder上select的签名 公共函数select($ name,$ list = array(),$ selected = null,$ options = array()){...}