代码之家  ›  专栏  ›  技术社区  ›  fightstarr20

Laravel5-使用数据库值和旧值预填充HTML选择

  •  1
  • fightstarr20  · 技术社区  · 7 年前

    我正在尝试使用'旧'在一个拉威尔5应用程序,以预先填充一个选择的形式上的编辑路线如下。。。

    <select id="category" name="category" required>
        <option value="">Select</option>
        <option value="animal" @if (old('category') == "animal") {{ 'selected' }} @endif>Animal</option>
        <option value="vegetable" @if (old('category') == "vegetable") {{ 'selected' }} @endif>Vegetable</option>
        <option value="mineral" @if (old('category') == "mineral") {{ 'selected' }} @endif>Mineral</option>
    </select>
    

    如何确定这是第一次加载编辑页,还是在验证失败后重新加载?还是有更好的办法?

    2 回复  |  直到 7 年前
        1
  •  2
  •   Tharaka Dilshan    7 年前

    让我们假设你已经发送了 category 值为 $category
    所以在每个 <option> 标签,

    <option value="animal" 
        {{ old('category') == 'animal' ? ' selected' :
            $category == 'anumal' ? ' selected' : '' }}>
                Animal
    </option>
    

    if there is an old value and its matching, select this,
    else if the original value is matching select this,
    else do nothing.
    
        2
  •  1
  •   Jason    7 年前

    具有默认值/初始值的函数:

    <option value="animal" @if (old('category', 'animal') == "animal") {{ 'selected' }} @endif>Animal</option>
    

    如果在闪现的输入中找不到旧值,则第二个参数将作为函数结果返回。