Laravel select2/select 中的旧($field)返回错误值
Laravel old($field) in select2/select returning wrong value
以下代码 returns 始终将第一个值作为 selected,而不是空值!
<select class="select2" autocomplete="off" name="{{$field_name}}">
<option></option>
@foreach(explode(',', "a,b,c") as $key=> $value)
<option value='{{$key}}' @if (old($field_name) == $key) selected="selected" @endif>{{$value}}</option>
@endforeach
</select>
不知何故,使 select 语句的 old($field_name) == $key returns 0
总是将第一个选项作为 selected,而不是例如占位符。
即使 old($field_name) on its own returning ""
知道如何解决这个问题吗?
基于 '' == 0 = true
和 '' === 0 = false
的结论
<select class="select2" autocomplete="off" name="{{$field_name}}">
<option></option>
@foreach(explode(',', "a,b,c") as $key=> $value)
<option value='{{$key}}' @if(!is_null(old($field_name)) && old($field_name) == $key) selected='selected' @endif>{{$value}}</option>
@endforeach
</select>
将解决问题
以下代码 returns 始终将第一个值作为 selected,而不是空值!
<select class="select2" autocomplete="off" name="{{$field_name}}">
<option></option>
@foreach(explode(',', "a,b,c") as $key=> $value)
<option value='{{$key}}' @if (old($field_name) == $key) selected="selected" @endif>{{$value}}</option>
@endforeach
</select>
不知何故,使 select 语句的 old($field_name) == $key returns 0
总是将第一个选项作为 selected,而不是例如占位符。
即使 old($field_name) on its own returning ""
知道如何解决这个问题吗?
基于 '' == 0 = true
和 '' === 0 = false
<select class="select2" autocomplete="off" name="{{$field_name}}">
<option></option>
@foreach(explode(',', "a,b,c") as $key=> $value)
<option value='{{$key}}' @if(!is_null(old($field_name)) && old($field_name) == $key) selected='selected' @endif>{{$value}}</option>
@endforeach
</select>
将解决问题