猿问

Laravel 排序购物清单前端

我正在为一个大学项目开店。这是我在网络开发方面的第一门课程,我不明白如何通过 laravel 中的 html 下拉选择对购物列表页面进行排序。


前端刀片


<div class="toolbar-sorter">

  <span>Sort By</span>

  <select name="sorter" class="sorter-options"  style="width:150px; "data-role="sorter">

    <option selected="selected" value='comic_name'>Titolo: A-Z </option>

    <option value='comic_name'> Titolo: Z-A </option>

    <option value='price'> Prezzo: Crescente </option>

    <option value='price'> Prezzo: Decrescente </option>

    <option value='created_at'> Ultimi Arrivati </option>

  </select>

</div>

Route.php(这不是shoplist的唯一路由)


Route::get('/shoplist', 'ComicController@shoplistBase');

漫画控制器


public function shoplistBase()

{

    $genres = Genre::all();

    $comics = Comic::paginate(9);

    return view('shoplist')->with(compact('genres'))->with(compact('comics'));

}


BIG阳
浏览 100回答 1
1回答

慕的地8271018

假设您使用相同的路线进行排序:将您的下拉菜单包装在一个表单中确保为每个选项使用唯一值<form action="/shoplist" method="GET">&nbsp; &nbsp; <div class="toolbar-sorter">&nbsp; &nbsp; &nbsp; &nbsp; <span>Sort By</span>&nbsp; &nbsp; &nbsp; &nbsp; <select name="sorter" class="sorter-options" style="width:150px; " data-role="sorter">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <option selected="selected" value='comic_name_asc'>Titolo: A-Z</option>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <option value='comic_name_desc'> Titolo: Z-A</option>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <option value='price_asc'> Prezzo: Crescente</option>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <option value='price_desc'> Prezzo: Decrescente</option>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <option value='created_at'> Ultimi Arrivati</option>&nbsp; &nbsp; &nbsp; &nbsp; </select>&nbsp; &nbsp; </div>&nbsp; &nbsp; <button type="submit">Filter</button></form>在您的控制器中处理过滤器请求&nbsp; &nbsp; public function shoplistBase(Request $request)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; $genres = Genre::all();&nbsp; &nbsp; &nbsp; &nbsp; if ($request->has('sorter')){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; switch($request->get('sorter')){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; case `comic_name_asc`:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $comics = Comic::orderBy('name', 'desc')->paginate(9);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; case `comic_name_desc`:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //..&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $comics = Comic::paginate(9);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return view('shoplist')->with(compact('genres'))->with(compact('comics'));&nbsp; &nbsp; }
随时随地看视频慕课网APP
我要回答