Paginate Laravel 5.2与Jquery

时间:2016-06-21 07:07:18

标签: jquery laravel-5.2

我知道如何在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

1 个答案:

答案 0 :(得分:1)

您可以在控制器中尝试此操作

  $leads = LeadUser::where('gender', 'LIKE', '%'.$gender.'%')
        ->orderBy('first_name', 'ASC')
        ->paginate(20);
  return $leads->appends(['gender' => $gender]);