视图代码如下:我还通过compact传递要选择的变量,但这种技术不起作用
<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
是要保持选中的选定变量,我正在通过compact传递它。
条件失败:
{{ $month == $cement_cmonth->cmonth ? "selected" : "" }}
以上内容不计算true
,因此selected
属性不应用于任何option
。
这意味着您的$month
和$cement_cmonth->cmonth
值不相等。这可能是因为它们确实不是相同的('jan' != 'feb')
,也可能是值相同,但大小写不同。
当您使用strings
时,您需要注意字符大小写,因为==
是区分大小写的。
下列计算结果为false:
'jan' == 'Jan'
要避免此问题,请使用strcasecmp
:
{{ strcasecmp($month, $cement_cmonth->cmonth) === 0 ? "selected" : "" }}