问题描述
我需要你,我的问题:我想在 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 (将#修改为@)