【问题标题】:How to get the old value of a select input in blade laravel 8?如何在刀片 laravel 8 中获取选择输入的旧值?
【发布时间】:2021-06-02 22:13:36
【问题描述】:

我有一个 Select,当触发 onchange 事件时,这个 Select 可以打开路由,一切正常,但是当新路由打开时,Select 条目初始化并恢复为第一个选项“选择肋骨”。 这是我的代码:

<select name="choose_rib" class="form-control" id="choose_rib" 
        onchange="top.location.href =this.options[this.selectedIndex].value">
    <option value="/rib/{{app('id')}}" {{ old('choose_rib') == 'rib/'.app('id') ? 'selected' : '' }}> 
        choose something 
    </option>
    
    @foreach ($ribs as $rib)
            <option value="/rib/{{ $rib->code_rib }}"  {{ old('choose_rib') == 'rib/'.$rib->code_rib ? 'selected' : ''}}>
                {{$rib->desig}}
            </option>
    @endforeach
</select>

在我的控制器中:

public function goTo(Request $request)
{  
    $ribs = DB::select('select desig, rib from myTable');
    return view('show', compact('ribs'));
}

请帮帮我。

【问题讨论】:

    标签: laravel eloquent laravel-blade laravel-8


    【解决方案1】:

    您可以将 option 值与 {{ request()-&gt;route()-&gt;uri }} 进行比较 - 类似于:

    <option value="/rib/{{ $rib->code_rib }}"  {{ request()->route()->uri == 'rib/'.$rib->code_rib ? 'selected' : ''}}>
    

    请注意,使用表单元素进行导航是不好的做法,您可能会发现使用纯 html 链接更容易(如果需要,使用 js 显示/隐藏“下拉菜单”)。

    【讨论】:

    • 它不起作用,当我使用 dd(request()->route()->uri) 时,它给我的是“rib/{id}”而不是当前的 URL,例如“rib/1”
    【解决方案2】:

    我试过这个 {{request () -> path ()}} 来获取当前 url 并比较选项值,就像这样(它工作正常):

    <option value="/rib/{{ $rib->code_rib }}" {{ request()->path() == 'rib/'.$rib->code_rib ? 'selected' : ''}}>
    

    【讨论】:

      猜你喜欢
      • 2021-10-23
      • 2018-11-21
      • 2020-03-18
      • 2023-03-19
      • 2016-06-08
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多