I want to filter using multiple condition with checkbox.I am using yajrabox package and laravel 5.4.Now what am i facing the problem is that I can't use multiple checkbox. Here is my view
<form method="POST" id="search-form" class="form-inline" role="form">
<div class="form-group">
<?php $users = \App\User::all(); ?> @foreach($users as $row)
<input type="checkbox" name="email[]" value=""> @endforeach
</div>
<button type="submit" class="btn btn-primary">Search</button>
</form>
</div>
</div>
<table id="users-table" class="table table-condensed">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Email</th>
<th>Created At</th>
<th>Updated At</th>
</tr>
</thead>
</table>
public function getCustomFilterData(Request $request)
{
$users = User::select(['id', 'name', 'email', 'created_at', 'updated_at']);
return Datatables::of($users)
->filter(function ($query) use ($request) {
if ($request->has('name')) {
$query->where('name', 'like', "%{$request->get('name')}%");
}
if ($request->has('email')) {
$query->where('email', 'like', "%{$request->get('email')}%");
}
})
->make(true);
}
var oTable = $('#users-table').DataTable({
dom: "<'row'<'col-xs-12'<'col-xs-6'l><'col-xs-6'p>>r>"+
"<'row'<'col-xs-12't>>"+
"<'row'<'col-xs-12'<'col-xs-6'i><'col-xs-6'p>>>",
processing: true,
serverSide: true,
ajax: {
url: '{!! route('datatables.data') !!}',
data: function (d) {
d.name = $('input[name=name]').val();
d.email = $('input[name=email]').val();
}
},
columns: [
{data: 'id', name: 'id'},
{data: 'name', name: 'name'},
{data: 'email', name: 'email'},
{data: 'created_at', name: 'created_at'},
{data: 'updated_at', name: 'updated_at'}
]
});
$('#search-form').on('submit', function(e) {
oTable.draw();
e.preventDefault();
});
Aucun commentaire:
Enregistrer un commentaire