У меня есть данные laravel, которые разбиты на страницы с использованием paginator по умолчанию для laravels, вот так.
Контроллер
$applications = Application::onlyTrashed()->latest()->paginate(25);
return view('index', compact('applications'));
Таблица шаблонов моего клинка такая
<label for="kwd_search">Search:</label> <input type="text" id="kwd_search" value=""/>
<table class="table table-striped table-bordered table-hover" id="my-table1">
<thead>
<tr class="header">
<th>{{ trans('crud.users.id') }}</th>
<th>{{ trans('Name') }}</th>
<th>{{ trans('Email') }}</th>
<th>{{ trans('Country') }}</th>
<th>{{ trans('Contact No') }}</th>
<th>{{ trans('counsellor') }}</th>
<th>{{ trans('Submitted On') }}</th>
<th>{{ trans('Status') }}</th>
<th>{{ trans('crud.actions') }}</th>
</tr>
</thead>
<tbody>
@foreach ($archivedApplications as $row)
<tr>
<td>{!! $row->id !!}</td>
<td>{!! $row->name ?: 'No Name Provided'!!}</td>
<td>{!! $row->email !!}</td>
<td>{!! $row->country['name'] ?: 'No Country Provided' !!}</td>
<td>{!! $row->contact_no ?: 'No Number Provided' !!}</td>
<td>{!! ((isset($row->counsellor->name))?$row->counsellor->name:'') !!}</td>
<td>{!! $row->created_at !!}</td>
<!-- additional td -->
<td>
<span class="blockify-button btn-warning">{!! trans('Archived') !!}</span>
</td>
</tr>
@endforeach
</tbody>
</table>
Ниже приведен мой JS для поиска. В настоящее время он ищет только текущую страницу, а не только ту, на которой я сейчас нахожусь.
<script>
$(document).ready(function(){
// Write on keyup event of keyword input element
$("#kwd_search").keyup(function(){
// When value of the input is not blank
var term=$(this).val()
if( term != "")
{
// Show only matching TR, hide rest of them
$("#my-table1 tbody>tr").hide();
$("#my-table1 td").filter(function(){
return $(this).text().toLowerCase().indexOf(term ) >-1
}).parent("tr").show();
}
else
{
// When there is no input or clean again, show everything back
$("#my-table1 tbody>tr").show();
}
});
});
</script>