DataTables 的外部列搜索

External column search for DataTables

在 CodeIgniter 的帮助下,我有一个 DataTable (1.10.0) 运行。数据由 ajax 和 Datatables 库提供。一切都很好运行。

我想在我页面的某处插入一个输入字段到 filter/search 只有一列。我试过:

$('#customer').on( 'keyup click', function () {
  $('#results').DataTable().search(
    $('#customer').val()
  ).draw();
} );

这将搜索所有列,并更改 DataTables 自己的搜索字段中的值。如果我添加 column(),它将不再在 table 中搜索,尽管它会在没有 filter/search.

的情况下再次绘制所有 ajax 数据
$('#customer').on( 'keyup click', function () {
  $('#results').DataTable().column(0).search(
    $('#customer').val()
  ).draw();
} );

我的问题:在服务器端处理的数据上实施外部列 search/filter 的正确方法是什么?

谢谢!

您正在正确使用 column().search() API 功能。

但是在 server-side 处理中,各个列搜索在单独的请求参数中发送,请参阅 Server-side processing

例如,如果您使用值 John Doe 搜索第一列,您的服务器端脚本将收到参数 columns[0][search][value] 设置为 John Doe 的请求,而全局搜索参数 search[value] 将是空的。

您需要在 server-side 上单独处理这些单独的列搜索,无论是手动还是在图书馆的帮助下。