我已经根据用户详细信息检查了数据以从下拉菜单中自动选择列表,如下所示
<option {{ $user->grade == "10" ? 'selected' : '' }} value="10">10</option>
<option {{ $user->grade == "10 (A)" ? 'selected' : '' }} value="10 (A)">10 (A)</option>
请注意space
中有10 (A)
但是都以(页面)的形式将selected
放入(用户等级为10
)
如何避免这种事情。等级的数据类型为string
提前感谢
似乎$user->grade
不在string
变量中。您可以将变量转换为string
,然后进行比较
<option {{ (string)$user->grade == "10" ? 'selected' : '' }} value="10">10</option>
<option {{ (string)$user->grade == "10 (A)" ? 'selected' : '' }} value="10 (A)">10 (A)</option>
您可以使用if else
条件来实现。因为如果您有两个以上条件,条件运算符会将每个选项呈现为选定状态。例子,
@if($user->grade == "10")
<option selected value="10">10</option>
@elseif($user->grade == "10 (A)")
<option selected value="10 (A)">10 (A)</option>
@endif
尝试一下
<select multiple>
<option @if((string)$user->grade == '10') {{ 'selected' }} @endif value="10">10</option>
<option @if((string)$user->grade == '10 (A)') {{ 'selected' }} @endif value="10 (A)">10 (A)</option>
</select>
OR
@if($user->grade == "10")
<option selected value="10">10</option>
@elseif($user->grade == "10 (A)")
<option selected value="10 (A)">10 (A)</option>
@endif