Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用DataTables实现单个列筛选器(服务器端:true)?_Javascript_Html_Ajax_Laravel_Datatables - Fatal编程技术网

Javascript 如何使用DataTables实现单个列筛选器(服务器端:true)?

Javascript 如何使用DataTables实现单个列筛选器(服务器端:true)?,javascript,html,ajax,laravel,datatables,Javascript,Html,Ajax,Laravel,Datatables,在我的datatable中,搜索列不起作用。因为,我通过单击页码从数据库10乘10获取每个页面的数据,我的意思是分页在服务器代码中。dattable列搜索服务器端只提供第一页结果。我该怎么做 以下是我的datatable脚本: $('#table_id').DataTable({ "order": [[ 3, "desc" ]], "destroy": true, "dom": "Bfrtip", "serverSide": tru

在我的datatable中,搜索列不起作用。因为,我通过单击页码从数据库10乘10获取每个页面的数据,我的意思是分页在服务器代码中。dattable列搜索服务器端只提供第一页结果。我该怎么做

以下是我的datatable脚本:

$('#table_id').DataTable({
        "order": [[ 3, "desc" ]],
        "destroy": true,
        "dom": "Bfrtip",
        "serverSide": true,
        "processing" : true,
        "searching": false,
        "aoColumnDefs": [
            { "bSortable": false, "aTargets": [ 0, 1, 2, 3 , 4] },
            { "bSearchable": false, "aTargets": [ 0, 1, 2, 3, 4 ] }
        ] ,
        "pageLength": 10,
        "ajax" : function (data , callback, settings) {

            $.ajax({
                url: url
                type: 'GET',
                contentType: 'application/json; charset=utf-8',
                data: {params: {page: data.start / data.length  ,pageSize: data.length},
                    RecordsStart: data.start,
                    PageSize: data.length
                },
                success: function( data, textStatus, jQxhr ){
                    body = data.Data;

                    $('.box-header').on('click', '#addNewRecord' ,function () {
                        e.preventDefault();
                    });
                    callback({
                        // draw: data.draw,
                        data: body,
                        recordsTotal:  data.TotalRecords,
                        recordsFiltered:  data.RecordsFiltered,
                    });
                },
                error: function( jqXhr, textStatus, errorThrown ){
                }
            });
        },
        "columns": [
            {
                "title":"Id",
                "class":'id',
                "data": "id"
            },
            {
                "title": "name",
                "class":"name",
                "data": "name"
            },
            {
                "title": "status",
                "class":"status",
                "data": "status"
            }
        ]
    });
 $(document).on("keyup","#searchName", function () {
        $name = document.getElementById("searchName").value;
        $.ajax({
            url: url,
            type:"GET",
            data:{name:$name},
            success: function (data) {
                //Here I don't know how to add search record 
            }
        })
和PHP代码:

 public function searchTable(Request $request)
{
    $keyWord = $request->input('searchName', 'default_value');
    $name = myTable::select('id','name', 'status')
        ->where('name', 'like',  '%' . $keyWord .'%')->get();

    return response()->json([
        'info' => $name,
    ]);

}

以下代码显示了如何搜索各个列:

$(document).ready(function() {
    // Setup - add a text input to each footer cell
    $('#example tfoot th').each( function () {
        var title = $(this).text();
        $(this).html( '<input type="text" placeholder="Search '+title+'" />' );
    } );

    // DataTable
    var table = $('#example').DataTable();

    // Apply the search
    table.columns().every( function () {
        var that = this;
        $( 'input', this.footer() ).on( 'keyup change clear', function () {
            if ( that.search() !== this.value ) {
                that
                    .search( this.value )
                    .draw();
            }
        } );
    } );
} );
$(文档).ready(函数(){
//设置-向每个页脚单元格添加文本输入
$('#示例tfoot th')。每个(函数(){
var title=$(this.text();
$(this.html(“”);
} );
//数据表
变量表=$(“#示例”).DataTable();
//应用搜索
table.columns().every(函数(){
var=这个;
$('input',this.footer()).on('keyup change clear',函数(){
如果(that.search()!==this.value){
那个
.search(this.value)
.draw();
}
} );
} );
} );
如下图所示:


您好,您可以参考此url。它可能对您有用,谢谢。但是,我不能将它们用于服务器端。它只是在第一页搜索。@HaniyeShadman如何从服务器获得json响应?我们可以从“检查网络”选项卡查看。