Laravel blade 使用三进制设置输入值 if
Laravel blade set value on input with ternary if
我有一个模板,如果输入是否设置了“value”属性,即使它是空的,它也会更改样式。
例如这个:
<input type="text" class="form-control" name="name" id="name" value="">
模板与此不同:
<input type="text" class="form-control" name="name" id="name">
出于这个原因,如果设置了值,我需要用三元检查。
我写了这段代码:
<input type="text" class="form-control" name="name" id="name" {{ (isset($category) ? ("value='".$category->name."'") : "") }}>
但是当我 运行 页面并设置了 $category
变量时,我在输入中发现了这样一个值:'Category
我检查了生成的代码,我可以找到这个:
<input type="text" class="form-control" name="name" id="name" value="'Category" a="" name'="">
但数据库中的值为Category name
。
你能帮我找到问题吗?
您只需要这样做;
<input type="text" class="form-control" name="name" id="name" value="{{ isset($category) ? $category->name : '' }}" >
我认为在这种情况下不需要三元运算符,因为在 case 条件结果 false
.
中你什么都不做
您可以只使用 @if
:
@if (isset($category)) value="{{$category->name}}" @endif
此外,还有一个 @isset
指令,如果您这样做可能更合适:
@isset($category) value="{{$category->name}}" @endisset
在您的输入中
<input type="text" class="form-control" name="name" id="name" @isset($category) value="{{$category->name}}" @endisset />
参考:Blade 指令 If Statements。
我有一个模板,如果输入是否设置了“value”属性,即使它是空的,它也会更改样式。
例如这个:
<input type="text" class="form-control" name="name" id="name" value="">
模板与此不同:
<input type="text" class="form-control" name="name" id="name">
出于这个原因,如果设置了值,我需要用三元检查。
我写了这段代码:
<input type="text" class="form-control" name="name" id="name" {{ (isset($category) ? ("value='".$category->name."'") : "") }}>
但是当我 运行 页面并设置了 $category
变量时,我在输入中发现了这样一个值:'Category
我检查了生成的代码,我可以找到这个:
<input type="text" class="form-control" name="name" id="name" value="'Category" a="" name'="">
但数据库中的值为Category name
。
你能帮我找到问题吗?
您只需要这样做;
<input type="text" class="form-control" name="name" id="name" value="{{ isset($category) ? $category->name : '' }}" >
我认为在这种情况下不需要三元运算符,因为在 case 条件结果 false
.
您可以只使用 @if
:
@if (isset($category)) value="{{$category->name}}" @endif
此外,还有一个 @isset
指令,如果您这样做可能更合适:
@isset($category) value="{{$category->name}}" @endisset
在您的输入中
<input type="text" class="form-control" name="name" id="name" @isset($category) value="{{$category->name}}" @endisset />
参考:Blade 指令 If Statements。