首頁  >  問答  >  主體

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'="">

但是DB中的值為類別名稱

您能幫我找出問題所在嗎?

P粉322106755P粉322106755188 天前358

全部回覆(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
  • 取消回覆