laravel将html select下拉列表“选择”在两个数据上

问题描述 投票:2回答:3

我已经根据用户详细信息检查了数据以从下拉菜单中自动选择列表,如下所示

<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

enter image description here

如何避免这种事情。等级的数据类型为string

提前感谢

laravel dropdown html-select
3个回答
1
投票

似乎$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>

PHP -> Type Casting


0
投票

您可以使用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

0
投票

尝试一下

<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
© www.soinside.com 2019 - 2024. All rights reserved.