laravel刀片选择选项将全部选中

laravel刀片选择选项将全部选中,laravel,laravel-blade,Laravel,Laravel Blade,我试图将select元素的选项标记为selected,但它们都被选中了 刀片式HTML <h1>value = {{ $entity->field ?? 'this is new' }}</h1> <select name="field"> <option value="option_a" @if ($entity->field ?? '' == 'option_a') selected=&qu

我试图将
select
元素的
选项标记为selected,但它们都被选中了

刀片式HTML

<h1>value = {{ $entity->field ?? 'this is new' }}</h1>
<select name="field">
    <option value="option_a" @if ($entity->field ?? '' == 'option_a') selected="selected" @endif>Option A</option>
    <option value="option_b" @if ($entity->field ?? '' == 'option_b') selected="selected" @endif>Option B</option>
    <option value="option_c" @if ($entity->field ?? '' == 'option_c') selected="selected" @endif>Option C</option>
</select>

所选语法如下所示:

<option value="audi" selected>Audi</option>
奥迪
因此,请尝试:

<h1>value = {{ $entity->field ?? 'this is new' }}</h1>
<select name="field">
    <option value="option_a" @if ($entity->field ?? '' == 'option_a') selected @endif>Option A</option>
    <option value="option_b" @if ($entity->field ?? '' == 'option_b') selected @endif>Option B</option>
    <option value="option_c" @if ($entity->field ?? '' == 'option_c') selected @endif>Option C</option>
</select>
value={{$entity->field??'这是新的'}}
字段??“==”选项a’’选择@endif>选项a
字段??“==”选项b')已在@endif>选项b中选择
字段??“==”选项c')已在@endif>选项c中选择

看起来您有逻辑问题。看起来你要做一个三元数,然后决定一个标准的if检查,但是可能在代码中留下了一些三元数的逻辑

本部分:

 @if ($entity->field ?? '' == 'option_a') selected="selected" @endif
似乎缺少了
的另一面,即
,因此将始终计算为
true

相反,请尝试:

@if ($entity->field == 'option_a') selected @endif

??“部分如果在创建记录时,我没有
$entity
设置OK,但仍然存在相同的问题。尝试
@if(isset($entity)&&&$entity->field=='option_a')
@if ($entity->field == 'option_a') selected @endif