0
我正在尝试在搜索类别后选中复选框。但是它的错误explode((:参数#2($string(的类型必须是字符串,数组给定
<input id="subCats-{{$s->id}}" name="category[]" type="checkbox" value="{{ $s->id }}"
@if (request()->category != "" && in_array($s->id,explode(',', request()->category)))
checked
@endif
>
我对有问题
<input type="checkbox" name="level" value="0" id="lvl-0"
@if (request()->level == 0)
checked
@endif
它总是被检查,因为如果我不请求它的null,它认为它的0我尝试过(request((->level===0(,但它仍然不起作用。
其他有水平的人正在使用
<input type="checkbox" name="level" value="1" id="lvl-1"
@if (request()->level == 1)
checked
@endif
<input type="checkbox" name="level" value="2" id="lvl-2"
@if (request()->level == 2)
checked
@endif
问题出在
in_array($s->id,explode(',', request()->category)))
explose从字符串生成数组,但您的";request((->类别可能不会给您一个字符串,它已经是一个数组了。
所以也许它的工作原理是:
in_array($s->id, request()->category ?? []))
我认为无论if语句如何,都在检查它。所以这可能会起作用:
<input type="checkbox" :checked="{{ request()->level === 0 }}" />
要解决null
/0
的问题,您可以在条件中添加一个检查,以确保值不为空,如下所示:
@if (request()->level == 0 && !is_null(request()->level))
checked
@endif