【问题标题】:Ajax Search and Pagination LaravelAjax 搜索和分页 Laravel
【发布时间】:2015-02-01 14:19:09
【问题描述】:

这是我的控制器:

public function getIndex()
{

    $val = Input::get('search');
    if (isset($val)) {
        $person = Person::where('last_name', 'LIKE', "%$val%")->orderBy('last_name','ASC')->paginate(15);
        return Response::json($person);
    }

    $allowed = array('first_name', 'last_name', 'father_name');

    $sort   = in_array(Input::get('sort'), $allowed)    ? Input::get('sort')    : 'last_name';
    $order  = Input::get('order')                       ? Input::get('order')   : 'ASC';

    $person = Person::orderBy($sort,$order)->paginate(15);
    $this->layout->content = View::make('hello')->with('person',$person);
}

我的看法

... @foreach ($person as $keys => $values)
        <tr class="info">
            <td>{{ $values->first_name }}</td>
            <td>{{ $values->last_name }}</td>
            <td>{{ $values->father_name }}</td>
        </tr>
    @endforeach
</table>
<div class="footer">
    <div class="search">
        <div class="img"></div>
        <div class="txt">
            {{ Form::open(['url' => 'login']) }}
                {{ Form::text("search","", ["placeholder"=>"جستجو..."]); }}
            {{ Form::close() }}
        </div>
    </div> ...

我的 ajax

$(".search input").on('keyup',function(){
        val = $(this).val();
        if(val.length>2){
            $.ajax({
                url: "dashboard/index",
                type: 'GET',
                data: $(this).serialize(),
                success: function(data){
                    $(".info").remove();
                    $.each(data.data,function(index,item){
                        $(".menu").append(
                            "<tr class=info>"+
                            "<td>"+item.first_name+"</td>"+
                            "<td>"+item.last_name+"</td>"+
                            "<td>"+item.father_name+"</td>"+
                            "</tr>"
                        )
                    });
                },
                error: function(){
                    console.log("error");
                }
            });
        }

当我搜索这个附加到“信息”类时,但分页不起作用 因为使用这种方法,搜索变量不在 url 所以当我点击下一页时,它会进入默认分页而不是 ajax 搜索

请帮帮我

【问题讨论】:

  • 如果您使用分页,则不要使用 ajax,将您的搜索变量发布到服务器并通过在查询中附加搜索参数重新加载页面,表格将相应地重新生成,分页是也保持。否则使用 jquery 数据表插件

标签: php ajax laravel laravel-4 pagination


【解决方案1】:

当您使用表格时,最好的方法是使用 datatable js 插件...您可以在以下站点找到文档和示例: https://datatables.net

【讨论】:

    猜你喜欢
    • 2015-03-14
    • 2014-11-02
    • 2021-03-24
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 2019-05-06
    相关资源
    最近更新 更多