簡體   English   中英

Laravel選定選項的舊輸入

[英]Laravel old input of selected option

我知道如何獲取選擇選項的舊輸入,但是我對不同的語言有疑問。

六個選擇選項中只有兩個不使用@lang('')進行翻譯,對於這兩個選項, old('input')可以正常工作。

這是我的選擇列表的示例版本:

<select name="color" class="form-control form-control-sm">
   <option value="4c" selected {{ old('color') == "4c" ? "selected" : "" }}>4c</option>
   <option value="s/w" {{ old('color') == "@lang('s/w')" ? "selected" : "" }}>@lang('s/w')</option>
   <option value="3c" {{ old('color') == "3c" ? "selected" : "" }}>3c</option>
   <option value="s/w + rot" {{ old('color') == "@lang('s/w + rot')" ? "selected" : "" }}>@lang('s/w + rot')</option>
   <option value="s/w + gelb" {{ old('color') == "@lang('s/w + gelb')" ? "selected" : "" }}>@lang('s/w + gelb')</option>
   <option value="s/w + blau" {{ old('color') == "@lang('s/w + blau')" ? "selected" : "" }}>@lang('s/w + blau')</option>
</select>

如您所見,例如'4c'不會被翻譯,因為它在英語中具有相同的含義,而必要時's / w'將被翻譯為'b / w'。

例如,如果我使用選項“ 3c”並且驗證失敗,則將“ 3c”作為所選選項。 但是,當我選擇“ s / w”作為選項並且表單驗證失敗時,所選的選項將再次為“ 4c”(標准)。

有辦法解決這個問題嗎?

我相信,當您在字符串中使用blade指令時,它會作為字符串獲得,但未得到評估,您是否嘗試過以下方法:

{{ old('color') == trans('s/w + rot') ? "selected" : "" }}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM