如何让Laravel“记住”用户最后在下拉菜单中选择的内容?

时间:2014-11-04 10:30:49

标签: php forms laravel drop-down-menu

我正在应用中构建过滤功能,该功能将使用来自两个下拉菜单的输入过滤掉数据(在同一页面上)。我希望下拉菜单“记住”用户选择的内容并将其保留为默认值。

{!! Form::open(['method' => 'GET', 'route' => ['path_filter_index']]) !!}

  {!! Form::select('user', [-1 => 'All'] + $users , $users) !!}
  {!! Form::select('customer', [-1 => 'All'] + $customers, $customers) !!}

  {!! Form::hidden('status', 0) !!}
  {!! Form::checkbox('status', 1) !!}

  {!! Form::submit('Filtrera', ['class' => 'btn btn-primary btn-sm']) !!}

{!! Form::close() !!}

1 个答案:

答案 0 :(得分:2)

Heres是一个基于会话的解决方案......
在您的控制器中,接收提交数据的那个:

Session::put('filter.user', Input::get('user'));
Session::put('filter.customer', Input::get('customer'));

然后在你的视图中

{!! Form::select('user', [-1 => 'All'] + $users , Session::get('filter.user')) !!}
{!! Form::select('customer', [-1 => 'All'] + $customers, Session::get('filter.customer')) !!}

您可以在控制器操作中执行该操作,然后将其传递到视图中,而不是在视图中检索会话值