如何在刀片 laravel 8 中获取选择输入的旧值?
Posted
技术标签:
【中文标题】如何在刀片 laravel 8 中获取选择输入的旧值?【英文标题】:How to get the old value of a select input in blade 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'));
请帮帮我。
【问题讨论】:
【参考方案1】:您可以将 option
值与 request()->route()->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' : ''>
【讨论】:
以上是关于如何在刀片 laravel 8 中获取选择输入的旧值?的主要内容,如果未能解决你的问题,请参考以下文章