Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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
使用JQuery在数据表中搜索不起作用_Jquery_Codeigniter_Datatables - Fatal编程技术网

使用JQuery在数据表中搜索不起作用

使用JQuery在数据表中搜索不起作用,jquery,codeigniter,datatables,Jquery,Codeigniter,Datatables,我正在尝试使用带有搜索功能的datatable。但我不知道怎么做。请帮忙。这是我在jQuery中的代码 var oTable = $('#table').DataTable({ "dom": "Bfrtip", "bProcessing": true, "bServerSide": true, "sAjaxSource": '<?php echo site_url('members/viewall'); ?>',

我正在尝试使用带有搜索功能的datatable。但我不知道怎么做。请帮忙。这是我在jQuery中的代码

var oTable = $('#table').DataTable({
        "dom": "Bfrtip",
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": '<?php echo site_url('members/viewall'); ?>',
        "sPaginationType": "full_numbers",
        "fnServerData": function (sSource, aoData, fnCallback) {
            $.ajax
            ({
                'dataType': 'json',
                'type': 'POST',
                'url': sSource,
                'data': aoData,
                'success': fnCallback
            });
        }
});
var-oTable=$('#table').DataTable({
“dom”:“Bfrtip”,
“bProcessing”:正确,
“bServerSide”:正确,
“sAjaxSource”:“”,
“sPaginationType”:“完整编号”,
“fnServerData”:函数(sSource、aoData、fnServerData回调){
$.ajax
({
“数据类型”:“json”,
'type':'POST',
“url”:sSource,
“数据”:aoData,
“成功”:fn回调
});
}
});
检查

下面是一个检查示例

下面是一个示例

您指定了
“bServerSide”:true
,因此默认情况下,datatables将在对
sAjaxSource
中设置的URL的请求中包含您的搜索项,作为查询字符串参数
请求[“sSearch_0”]
,您可以在服务器端代码中检索它。然后,您将需要合并到db查询中。请参阅已发送参数的完整列表

假设您使用的是默认设置,搜索框的键控事件将触发您的搜索,您可以通过查看Firebug的网络面板并查看
sSearch\u 0
参数的查询字符串来检查这一点

例如,从自定义按钮触发搜索与在单击事件中调用fnDraw()一样简单:

oTable.fnDraw();
请注意,我已经为您提供了到v1.9文档的链接。尽管您的init代码中有一个大写的
DataTable
,但语法非常接近1.9,因此我假设您熟悉它。v1.10的工作方式非常相似,但参数名称不同。对于1.10,您已经指定了
“bServerSide”:true
,因此默认情况下,datatables将在对
sAjaxSource
中设置的URL的请求中包含您的搜索项,作为查询字符串参数
请求[“sSearch_0”]
,并由您在服务器端代码中检索它。然后,您将需要合并到db查询中。请参阅已发送参数的完整列表

假设您使用的是默认设置,搜索框的键控事件将触发您的搜索,您可以通过查看Firebug的网络面板并查看
sSearch\u 0
参数的查询字符串来检查这一点

例如,从自定义按钮触发搜索与在单击事件中调用fnDraw()一样简单:

oTable.fnDraw();

请注意,我已经为您提供了到v1.9文档的链接。尽管您的init代码中有一个大写的
DataTable
,但语法非常接近1.9,因此我假设您熟悉它。v1.10的工作方式非常相似,但参数名称不同。对于1.10,这只适用于客户端数据表,OP使用的是服务器端。我认为这也适用于客户端数据表。我认为该函数的工作原理类似于用户在搜索字段中键入某种东西,从而“触发”服务器端搜索是的,默认行为是触发搜索,但我假设OP在访问服务器端代码中的搜索参数时遇到问题。我不是说你的代码错了——我只是说答案需要更多地关注参数的传递。抱歉。这只适用于客户端数据表,OP使用的是服务器端。我想这也适用于客户端数据表。我认为该函数的工作原理类似于用户在搜索字段中键入某种东西,从而“触发”服务器端搜索是的,默认行为是触发搜索,但我假设OP在访问服务器端代码中的搜索参数时遇到问题。我不是说你的代码错了——我只是说答案需要更多地关注参数的传递。道歉。