Custom Filter Datatables using yajrabox package in laravel 5 -
excuse me, have problem when wan't make custom filter in datatables. wan't show data based on selected input. data has not changed expected.
here view code
<div class="panel-body"> <div class="row"> <div class="col-md-10"> {!! form::open(['method'=>'post','class'=>'form-horizontal','role'=>'form','id'=>'filter-form']) !!} <div class="form-group{{ $errors->has('filter') ? ' has-error' : '' }}"> {!! form::label('filter', 'filter:', ['class'=>'col-md-1 control-label']) !!} <div class="col-md-3"> {!! form::select('filter', ['all'=>'semua waktu','bulanan'=>'per bulan ini','tahunan'=>'per tahun ini','tanggal'=>'berdasarkan tanggal'], 'all', ['id'=>'filter','class'=>'form-control','placeholder' => 'pilih waktu','onchange'=>'submitform(this)']) !!} {!! $errors->first('filter', '<p class="help-block">:message</p>') !!} </div> </div> {!! form::close() !!} </div> </div> {!! $html->table(['id'=>'datapeserta','class'=>'table-striped']) !!} </div>
and controller
public function index(request $request, builder $htmlbuilder) { $getfilter = $request->get('filter'); $getdari = $request->get('dari'); $getsampai = $request->get('sampai'); $getmonth = date('m'); $getyear = date('y'); if($getfilter == 'all'){ $datapeserta = peserta::with('jeniskelas'); }elseif($getfilter == 'bulanan'){ $datapeserta = peserta::with('jeniskelas')->whereyear('created_at','=',$getyear)->wheremonth('created_at','=',$getmonth)->get(); }elseif($getfilter == 'tahunan'){ $datapeserta = peserta::with('jeniskelas')->whereyear('created_at','=',$getyear)->get(); }elseif($getfilter == 'tanggal'){ $datajeniskelamin = peserta::with('jeniskelas')->wherebetween('created_at',array($getdari,$getsampai))->get(); }else{ $datapeserta = peserta::with('jeniskelas'); } if($request->ajax()){ return datatables::of($datapeserta)->addcolumn('action', function($datapeserta){ return view('datatable._actiondatapeserta', [ 'model' => $datapeserta, 'form_url' => route('datapeserta.destroy', $datapeserta->id), 'edit_url' => route('datapeserta.edit', $datapeserta->id), ]); })->make(true); } $html = $htmlbuilder->addcolumn(['data'=>'nis', 'name'=>'nis', 'title'=>'nis']) ->addcolumn(['data'=>'nama', 'name'=>'nama', 'title'=>'nama']) ->addcolumn(['data'=>'nohp', 'name'=>'nohp', 'title'=>'no. hp']) ->addcolumn(['data'=>'jeniskelas.name', 'name'=>'jeniskelas.name', 'title'=>'jenis kelas']) return view('datapeserta.index')->with(compact('html','getyear')); }
anyone can solve this?
Comments
Post a Comment