重定向到 Laravel 中的 Select options 内的路由?

问题描述 投票:0回答:3

我正在使用

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>

laravel laravel-blade
3个回答
1
投票

您无法在选择输入中使用链接。而是使用这样的 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>

0
投票

这里需要使用javascript或jquery。

$('.custom-select').change(function(){
   //write you code here 
})

0
投票

您可以通过将选项值设置为要重定向到的路线来解决它,并放置 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>
© www.soinside.com 2019 - 2024. All rights reserved.