首页  >  问答  >  正文

Laravel Blade 在输入上设置三元 if 值

我有一个模板,如果输入是否设置了“value”属性,即使它是空的,它也会更改样式。

例如:

<input type="text" class="form-control" name="name" id="name" value="">

模板与此不同:

<input type="text" class="form-control" name="name" id="name">

因此,我需要使用三元 if 检查该值是否已设置。

我写了这段代码:

<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&#039;="">

但是DB中的值为类别名称

您能帮我找出问题所在吗?

P粉322106755P粉322106755237 天前409

全部回复(2)我来回复

  • P粉947296325

    P粉9472963252024-03-20 15:07:16

    你只需要这样做;

    回复
    0
  • P粉978742405

    P粉9787424052024-03-20 10:21:38

    我认为在这种情况下不需要三元运算符,因为在条件结果 false 的情况下您将不执行任何操作。

    您可以仅使用@if

    @if (isset($category)) value="{{$category->name}}" @endif

    此外,还有一个 @isset 指令,因此如果您这样做可能会更合适:

    @isset($category) value="{{$category->name}}" @endisset

    在您的输入中


    参考:刀片指令If 语句

    回复
    0
  • 取消回复