首页 > 解决方案 > 我想在提交表单后保持选择选项。我正在使用 Laravel 7 和 Bootstrap

问题描述

这是查看代码:我也传递要通过紧凑选择的变量,但这种技术不起作用

<select class="form-control" name="month">
    @foreach ($cement_cmonths as $cement_cmonth)
        <option {{$month == $cement_cmonth->cmonth ? "selected" : ""}} value=" 
        {{$cement_cmonth->cmonth}}">{{$cement_cmonth->cmonth}}</option>
    @endforeach 
</select>

$month是选定的变量以保持选中状态,我正在通过紧凑型传递它。

标签: laravelbootstrap-4laravel-7

解决方案


您的条件失败:

{{ $month == $cement_cmonth->cmonth ? "selected" : "" }}

以上没有评估true因此该selected属性未应用于您的任何options.

这意味着你$month$cement_cmonth->cmonth价值观不相等。这可能是因为它们实际上并不相同('jan' != 'feb'),或者可能是值相同但大小写不同。

在使用strings时,您需要注意字符大小写,因为==它区分大小写。

以下评估为假:

'jan' == 'Jan'

为避免此问题,请使用strcasecmp

{{ strcasecmp($month, $cement_cmonth->cmonth) === 0 ? "selected" : "" }}

推荐阅读