gpt4 book ai didi

javascript - 我如何记住 php laravel 中的下拉值?

转载 作者:行者123 更新时间:2023-11-30 13:44:56 26 4
gpt4 key购买 nike

我正在尝试为我的页面创建一个过滤器,并且我想记住表单值。我已经尝试过 laravel 的 old() 函数和其他一些东西,但是没有用。也许我做错了什么。这是我的代码:

Blade .php:

<form method="get" action="/admin/users" id="searchForm">
<div class="row">
<div class="col-sm-4 mb-2 lg-4">
<input type="text" class="form-control" name="name" id="name"
value="{{ request()->name }}" placeholder="Filter user by name or email">
</div>
<div class="col-sm-4 mb-2 lg-4">

<select class="form-control" name="userfilter" id="userfilter">
<option class="genrekeuze" value="id">Sort By ID (default)</option>
<option class="genrekeuze" value="name">Name</option>
<option class="genrekeuze" value="email">email</option>
<option class="genrekeuze" value="active">active</option>
<option class="genrekeuze" value="admin">admin</option>
</select>

</div>
<div class="col-sm-4 mb-2 lg-4">

<select class="form-control" name="direction" id="direction">

<option id="richtingboven" class="genrekeuze" value="asc" >ascending</option>

<option id="richtingonder" class="genrekeuze" value="desc">descending</option>

</select>

</div>
<div class="col-sm-2 mb-2">
<button style="display: inline;" type="submit" class="btn btn-success btn-block">Search</button>
</div>
</div>
</form>

这是我的 Controller :

public function index(Request $request)
{

//vraag input van zoekbalk en option list
$zoeknaam = '%' . $request->input('name') . '%';
$vallist=$request->input('userfilter','id');
$direction=$request->input('direction','asc');

//users uit database halen, paginate en where functie voor filteren
$users = User::where('name', 'like', $zoeknaam)
->orWhere('email', 'like', $zoeknaam)
->orderBy($vallist,$direction)
->paginate(10);


$result = compact('users');

Json::dump($result);

//naar view met data
return view('admin.users.users', $result);
}

输入似乎会自动记住它的值,但 2 个下拉菜单(#userfilter 和 #direction)不会。如果有人知道解决方案,请随时发表评论。

感谢阅读!

最佳答案

设置 select 标签的值实际上不会设置选项。这样做

<select name="myselect" value="{{old('myselect')}}`">

不会工作。该选项需要具有 selected 属性才能被选中,因此您需要将 selected 属性添加到其值与 old()< 匹配的选项 值。我来演示一下。

<select class="form-control" name="userfilter" id="userfilter">
<option class="genrekeuze" value="id" @if(old('userfilter')=='id') selected @endif>Sort By ID (default)</option>
<option class="genrekeuze" value="name" @if(old('userfilter')=='name') selected @endif>Name</option>
<option class="genrekeuze" value="email" @if(old('userfilter')=='email') selected @endif>email</option>
<option class="genrekeuze" value="active" @if(old('userfilter')=='active') selected @endif>active</option>
<option class="genrekeuze" value="admin" @if(old('userfilter')=='admin') selected @endif>admin</option>
</select>

同理,对于方向

<select class="form-control" name="direction" id="direction">
<option id="richtingboven" class="genrekeuze" value="asc" @if(old('direction')=='asc') selected @endif>ascending</option>
<option id="richtingonder" class="genrekeuze" value="desc" @if(old('direction')=='desc') selected @endif>descending</option>
</select>

关于javascript - 我如何记住 php laravel 中的下拉值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59513557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com