Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 将列搜索应用于当前jQuery数据表_Javascript_Jquery_Search_Datatables - Fatal编程技术网

Javascript 将列搜索应用于当前jQuery数据表

Javascript 将列搜索应用于当前jQuery数据表,javascript,jquery,search,datatables,Javascript,Jquery,Search,Datatables,我有一个运行正常的当前jQuery数据表: var $dataTable = $('#example1').DataTable({ "ajax": 'api/tableSearch.php', "iDisplayLength": 25, "order": [[ 6, "desc" ]], "scrollY": 600, "scrollX": true, "bDestroy": true, "columnDefs": [{ "targets":

我有一个运行正常的当前jQuery数据表:

 var $dataTable = $('#example1').DataTable({
   "ajax": 'api/tableSearch.php',
   "iDisplayLength": 25,
   "order": [[ 6, "desc" ]],
   "scrollY": 600,
   "scrollX": true,
   "bDestroy": true,
   "columnDefs": [{
     "targets": 0,
     "render": function (data, type, full, meta){
       return '<a class="editLink" href="#">Edit</a><a class="deleteLink" href="#">Del</a>':
     }
   }]
 });
var$dataTable=$('#示例1')。dataTable({
“ajax”:“api/tableSearch.php”,
“iDisplayLength”:25,
“订单”:[[6,“说明”],
“滚动”:600,
“scrollX”:正确,
是的,
“columnDefs”:[{
“目标”:0,
“呈现”:函数(数据、类型、完整、元){
返回“”:
}
}]
});
如上所述,上述代码相应地起作用……搜索过滤器起作用,排序起作用,一切都起作用

我想做的是向这个数据表添加一个列搜索,如下所示:

我试图将上面链接中的代码添加到我的当前代码中,如下所示:

 var $dataTable = $('#example1').DataTable({
   "ajax": 'api/tableSearch.php',
   "iDisplayLength": 25,
   "order": [[ 6, "desc" ]],
   "scrollY": 600,
   "scrollX": true,
   "bDestroy": true,
   "columnDefs": [{
     "targets": 0,
     "render": function (data, type, full, meta){
       return '<a class="editLink" href="#">Edit</a><a class="deleteLink" href="#">Del</a>':
     }
   }],  // begin here
   initComplete: function(){
     this.api().columns().every(function(){
       var column = this;
       var select = $('<select><option value=""></option></select>')
       .appendTo( $(column.footer()).empty() )
       .on( 'change', function () {
         var val = $.fn.dataTable.util.escapeRegex(
            $(this).val()
           );
         column
           .search( val ? '^'+val+'$' : '', true, false )
           .draw();
         } );
         column.data().unique().sort().each( function ( d, j ) {
           select.append( '<option value="'+d+'">'+d+'</option>' )
         } );
        } );
      }
    } );        
 });     
var$dataTable=$('#示例1')。dataTable({
“ajax”:“api/tableSearch.php”,
“iDisplayLength”:25,
“订单”:[[6,“说明”],
“滚动”:600,
“scrollX”:正确,
是的,
“columnDefs”:[{
“目标”:0,
“呈现”:函数(数据、类型、完整、元){
返回“”:
}
}],//从这里开始
initComplete:function(){
this.api().columns().every(函数()){
var列=此;
变量选择=$(“”)
.appendTo($(column.footer()).empty())
.on('change',function(){
var val=$.fn.dataTable.util.escapeRegex(
$(this.val()
);
柱
.search(val?“^”+val+“$”:“”,true,false)
.draw();
} );
column.data().unique().sort().each(函数(d,j){
选择。追加(“”+d+“”)
} );
} );
}
} );        
});     
我没有收到任何错误,DataTable仍在加载,但列搜索不存在

我正在使用jQuery-2.1.3.min,因此它应该是最新的


有人看到我做错了什么,以及我能做些什么来纠正这个问题吗?

在表中添加一个
。引用
column.footer()
的表达式希望它存在。

表标记中是否有
?可能需要执行以下操作:
var select=$('').appendTo($(column.footer()).empty())
就是这样……我需要向表中添加一个页脚。但是现在,我的列没有对齐。