下拉数据表 Laravel

问题描述

我需要你,我的问题:我想在 Laravel 中使用 Datatable 制作一个下拉过滤器,但我没有问题或想法来做到这一点,我把我的代码放在下面,希望你能解决我的问题问题,谢谢。

var table = $('#tableAgents').DataTable({
  processing: true,serverSide: true,ajax: "/index",columns: [{
      data: 'DT_RowIndex',name: 'DT_RowIndex'
    },{
      data: 'profil',name: 'profil',orderable: true,searchable: true
    },{
      data: 'phone',name: 'phone'
    },{
      data: 'nom_fr_fr',name: 'nom_fr_fr'
    },{
      data: 'city',name: 'city'
    },{
      data: 'nameFirm',name: 'nameFirm'
    },]
});

$('.filter-country').change(function() {
  table.draw();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="wrapper--filter">
  <div class="form-filter-country">
    <select class="filter-country">
      @foreach ($countries as $country)
      <option value="{{ $country->nom_fr_fr }}">{{ $country->nom_fr_fr }}</option>
      @endforeach
    </select>
  </div>
  <div class="form-filter-statut">
    <select class="filter-statut">
      <option value="1">Actif</option>
      <option value="0">Suspendu</option>
    </select>
  </div>
</div>
<div id="table_data">
  @include('pages.pagination_data')
</div>

public function index(Request $request)
{
    $countries = DB::table('tbl_countries')
        ->select('*')
        ->get();

    if ($request->ajax()) {
        $agents = DB::table('agents')
            ->select('*')
            ->join('tbl_countries','tbl_countries.idCountry','=','agents.country')
            ->orderBy('agents.id','desc')
            ->get();

        return Datatables::of($agents)
            ->addindexColumn()
            ->addColumn('profil',function($row) {
                return '<p>'.$row->lastName.'<span>'.$row->firstName.'</span></p><p>'.$row->mail.'</p>';
            })
            ->rawColumns(['profil'])
            ->make(true);
    }

    return view('pages/home',compact('countries'))->render();
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)