Html 过滤数据时是否按请求进行请求?
这是我的想法,我有三个Html 过滤数据时是否按请求进行请求?,html,laravel,Html,Laravel,这是我的想法,我有三个选择框,以一种形式过滤用户的数据 表格编号: <form action="{{route('TopUsers')}}"> <select name="category" onchange="this.form.submit()"> <option value=""> Category </option> @foreach (\App\Category::all() as $category)
选择框
,以一种形式过滤用户的数据
表格编号:
<form action="{{route('TopUsers')}}">
<select name="category" onchange="this.form.submit()">
<option value=""> Category </option>
@foreach (\App\Category::all() as $category)
@if($category->id == Input::get('category'))
<option selected="selected" value="{{ $category->id }}">{{ $category->name }}</option>
@else
<option value="{{ $category->id }}">{{ $category->name }}</option>
@endif
@endforeach
</select>
<select name="governorate" onchange="this.form.submit()">
<option value=""> Governorate </option>
@foreach (\App\Governorate::all() as $governorate)
@if($governorate->id == Input::get('governorate'))
<option selected="selected" value="{{ $governorate->id }}">{{ $governorate->name }}</option>
@else
<option value="{{ $governorate->id }}">{{ $governorate->name }}</option>
@endif
@endforeach
</select>
@foreach (\App\Tag::all() as $tag)
@if($tag->id == Input::get('tag'))
<option selected="selected" value="{{ $tag->id }}">{{ $tag->name }}</option>
@else
<option value="{{ $tag->id }}">{{ $tag->name }}</option>
@endif
@endforeach
</form>
当我选择一个select like省时的链接:
http://code.test/top-users?category=&governorate=1&tag=
我的问题是:在没有其他类似请求的情况下,如何仅选择我选择的url:
http://code.test/top-users?governorate=1
然后,如果我选择了任何其他人,请将第一个添加到链接中,以此类推:) 您不能从请求中删除元素,因为表单将始终传递它们,即使是空的,但您可以检查它们是否有值,并将其从筛选中排除
if($request('category')) //returns true because category is in the request
将成为
if($request->filled('category')) //returns false if no categories were selected
等等 仍然有相同的链接()链接不会更改,表单将始终提交其所有可用值。但是数据将不再被空字段summ过滤,那么这样的最佳实践是什么呢?我是说我的主意!在纯HTML中?没有。从理论上讲,你可以使用javascript构建URL,但这似乎有些过分,如果我为每个URL创建三个链接,然后逐个发送请求,会怎么样呢!嗯,但它将删除第一个,然后添加第二个):我看到了什么丑陋的链接!
if($request->filled('category')) //returns false if no categories were selected