Laravel PHP:保持选中的下拉选项在View上保持选中状态

时间:2014-11-17 20:15:27

标签: php laravel-4

我的主页包含一个下拉菜单,允许用户选择一个类别,并根据从下拉菜单中选择的选项显示结果。

它目前在更新和显示正确的结果方面工作正常,但现在我遇到了一个小问题,我希望下拉菜单在所选类别上保持选中状态。通常我会在我的视图中添加一行简单的代码,例如

{{ Form::label('category', 'Category:') }}
{{ Form::select('category', array('option1' => 'Option1', 'option2' => 'Option2'), $video->category) }}

其中$video是控制器中使用的模型。

然而,这种情况有点不同,因为我需要通过'类别'从我的控制器中变量,以便在用户做出选择后,下拉菜单将保留在所选类别上。

控制器:

public function index()
{
    $vdo = Video::query();
    $pic = Picture::query();
    if($category = Input::get('category')){
        $vdo->where('category', $category);
        $pic->where('category', $category);
    }

    $allvids = $vdo->paginate(10);
    $allpics = $pic->paginate(10);
    $data = compact('allvids','allpics');
    $this->layout->content = \View::make('home.pics_vids_overview',$data)->with('category', Input::get('category'));
}

查看:

{{Form::open(array('route' => 'overview_select', 'files' => true)) }}    

<div class="form-group">
{{ Form::label('category', 'Category:') }}
{{ Form::select('category', array('Category1' => 'Category1', 'Category2' => 'Category2', 'Category3' => 'Category3', 'Category4' => 'Category4'), array('class' => 'form-control')) }}

我已经尝试了几种方法来传递所选择的类别&#39;变量返回到下拉列表,以便在用户做出选择后它将保留在所选选项上,但它们都没有为我工作。任何帮助是极大的赞赏!

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

{{ 
    Form::select(
       'category',
       array('Category1' => 'Category1', 'Category2' => 'Category2'),
       (isset($category) ? $category : 'Category1'),
       array('class' => 'form-control')
    )
}}

答案 1 :(得分:0)

使用Form::model代替Form::open将模型绑定到表单,它会自动获取模型中的任何值:

{{ Form::model(array('route' => 'overview_select', 'files' => true)) }}