【问题标题】:Laravel 4.2 - How to preserve form values on select element in raw htmlLaravel 4.2 - 如何在原始 html 中的选择元素上保留表单值
【发布时间】:2015-03-13 07:28:05
【问题描述】:

在 Laravel 中构建表单但使用原始 html 而不是 FROM 类时,我可以使用类似这样的东西来保存输入元素的表单数据

        <input type="text" name="username"{{ (Input::old('username')) ? ' value="' . e(Input::old('username')) . '"' : '' }}>

如何在类似这样的代码中使用选择下拉菜单和选定选项来完成相同的操作?

        <select name="bday" id="bday">
            <option disabled> </option>
            @for ($i = 1; $i <= 31; $i++)
                <option value="{{ $i }}">{{ $i }}</option>
            @endfor
        </select>

我有一个看起来像这样的可行解决方案,但我想知道是否有更好、更优雅的解决方案

         <select name="bday" id="bday">
            <option disabled> </option>
            @for ($i = 1; $i <= 31; $i++)
               <option value="{{ $i }}" @if ( Input::old('bday') == $i ) selected @endif > {{ $i }}</option>
            @endfor
         </select>

【问题讨论】:

  • 这行得通吗:&lt;option value="..." selected="{{ Input.old('bday') === $i }}"&gt;{{ $i }}&lt;/option&gt;?
  • 它将值设置为最后一次计算 $i 的 31
  • 也许你应该 var_dump 你的旧输入,看看你可以使用什么
  • 好主意..我会试试的
  • 我显然可以这样做 ' 我得到了一个工作结果.. 但它远非“优雅”

标签: forms validation laravel laravel-4


【解决方案1】:

我强烈建议您使用 Form helper 和您的刀片文件,例如: {{ Form::select('bday', $bdays, null , array('class' =&gt; 'form-control')) }} 这样,当出现验证错误时,您的选项将自动填充,并且看起来更具可读性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多