我在Laravel中使用分页创建了一个表,然后为其添加了搜索功能,但是当我尝试搜索它时,它只搜索当前页面。我如何解决这个问题,以便我可以搜索表格所有页面上的信息?我是Laravel的新手:)
表格代码 -
<input type="text" id="search" placeholder="Type to search">
<table id="table">
<thead>
<tr>
<th data-field="id">Ident</th>
<th data-field="name">Name</th>
</tr>
</thead>
<tbody>
@foreach ($airports as $airport)
<tr>
<td>{{ $airport->ident }}</td>
<td>{{ $airport->name }}</td>
</tr>
@endforeach
</tbody>
</table>
@include('pagination.default', ['paginator' => $airports])
Javascript -
<script type="text/javascript">
var $rows = $('#table tr');
$('#search').keyup(function() {
var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase();
$rows.show().filter(function() {
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
return !~text.indexOf(val);
}).hide();
});
</script>
答案 0 :(得分:1)
如果使用分页,则在laravel中,它将仅加载在限制中设置的特定记录。
$('#switch')
当您在此时单击下一页按钮时,将仅加载新的记录集。因此,只有您搜索仅适用于第一页。
如果你想要解决这个问题,你可以像这样加载页面加载的控制器进行ajax调用
->paginate(15)