如果返回错误,则填充选择下拉列表

时间:2017-04-02 09:01:09

标签: laravel laravel-5.4 laravel-blade

与我的文本字段一样,如果在视图上返回错误,我想使用先前提交的数据填充select元素,例如:<select class="form-control" id="input" name="{{ $questionDetail->question_number }}" required="required"> <option disabled selected value> -- Select an option --</option> @foreach($answers as $answer) <option value="{{ $answer->value }}">{{ $answer->question }}</option> @endforeach </select>

当前观点:

{{1}}

如何在上面的场景中实现它,因为似乎没有可以在不覆盖值的情况下添加值的地方?谢谢。

2 个答案:

答案 0 :(得分:1)

<option 
    value="{{ $answer->value }}" 
    {{ $answer->value == old(questionDetail->question_number) ? 'selected' : '' }}>
        {{ $answer->question }}
</option>

您可以从第一个选项中删除“已选择”。它将默认选中,因为它是第一个。如果存在old(),则会进行检查。

答案 1 :(得分:0)

您需要将之前的值标记为已选中,因此这样的内容应该有效:

<select class="form-control" id="input" name="{{ $questionDetail->question_number }}" required="required">
    <option disabled @if(!old($questionDetail->question_number)) selected @endif value> -- Select an option --</option>
        @foreach($answers as $answer)
            <option value="{{ $answer->value }}" @if(old($questionDetail->question_number) == $answer->value) selected @endif>{{ $answer->question }}</option>
        @endforeach
</select>

可能在使用表格进行大量工作时,最好使用https://laravelcollective.com/docs/5.3/html(分支5.4)