我正在使用
Laravel
并在 blade
文件内,我想在每次选择选项时重定向到路线。我尝试了下面的代码,但当我选择一个选项时它不会重定向到链接:
<select name="zone" autocomplete="off" class="custom-select">
<option data-placeholder="true">Zone</option>
@foreach ($zones as $key => $zone)
<option value="{{ $key }}">
<a href="{{ route(Route::current()->getName(), ['zone' => $zone]) }}">
{{ $zone }}
</a>
</option>
@endforeach
</select>
您无法在选择输入中使用链接。而是使用这样的 JavaScript:
<select onchange="window.location.assign('{{ url()->current().'?zone=' }}'+this.value)" name="zone" autocomplete="off" class="custom-select">
<option data-placeholder="true">Zone</option>
@foreach ($zones as $key => $zone)
<option value="{{ $key }}">
{{ $zone }}
</option>
@endforeach
</select>
这里需要使用javascript或jquery。
$('.custom-select').change(function(){
//write you code here
})
您可以通过将选项值设置为要重定向到的路线来解决它,并放置 onchange 事件,例如:
onchange="window.location.href=this.value;"
<div class="col-md-10">
<select name="zone" autocomplete="off" class="custom-select" onchange="window.location.href=this.value;">
<option data-placeholder="true">Zone</option>
@foreach ($zones as $key => $zone)
<option value="{{ route(Route::current()->getName(), ['zone' => $zone]) }}"></option>
@endforeach
</select>
</div>