我知道如何在Laravel中进行分页,我根据它的文档尝试了它并且它很容易。但是,我在它的一个视图上实现了一个Jquery自动完成,这次分页不起作用。你会如何实现这个目标?
jquery的
$("#city_autocomplete").autocomplete({
source: '/lead-users/autocomplete',
minLength: 2,
select: function(event, ui) {
$("#city_autocomplete").val(ui.item.value);
}
});
控制器
$leads = LeadUser::where('gender', 'LIKE', '%'.$gender.'%')
->orderBy('first_name', 'ASC')
->paginate(20);
查看
<tbody>
@foreach($leads as $count)
<tr>
<td>{{ $count->getFullName() }}</td>
<td>{{ $count->email }}</td>
<td>{{ $count->city }}</td>
<td>{{ $count->state }}</td>
<td>{{ $count->getGender() }}</td>
<td>{{ $count->yesOrNo() }}</td>
</tr>
@endforeach
</tbody>
</table>
{{ $counts->links() }}
好的,我更新了我的Jquery
<script>
$(document).ready(function (){
$("#city_autocomplete").autocomplete({
source: '/lead-users/autocomplete',
minLength: 2,
select: function(event, ui) {
$("#city_autocomplete").val(ui.item.value);
}
});
$(window).on('hashchange',function(){
page = window.location.hash.replace('#','');
getItems(page);
});
$(document).on('click','.pagination a', function(e){
e.preventDefault();
var page = $(this).attr('href').split('page=')[1];
// getItems(page);
location.hash = page;
});
function getItems(page){
$.ajax({
url: '/lead-users/autocomplete?page=' + page
}).done(function(data){
$('#leads').html(data);
});
};
});
</script>
这仅适用于分页2(1,2,3,4,5,6),其余部分不会重定向。它确实更改了浏览器中的URL但视图中没有任何内容
city=Fremont#2
city=Fremont#3
city=Fremont#4
答案 0 :(得分:1)
您可以在控制器中尝试此操作
$leads = LeadUser::where('gender', 'LIKE', '%'.$gender.'%')
->orderBy('first_name', 'ASC')
->paginate(20);
return $leads->appends(['gender' => $gender]);