以下代码始终返回所选的第一个值,而不是空值!
<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
总是将第一个选项作为所选选项,而不是占位符。
即使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>
将修复问题