【问题标题】:External column search for DataTables数据表的外部列搜索
【发布时间】:2016-01-04 07:00:10
【问题描述】:

我有一个在 CodeIgniter 的帮助下运行的 DataTable (1.10.0)。数据由带有 Datatables 库的 ajax 提供。一切正常。

我想在我的页面某处插入一个输入字段来过滤/搜索一列。我试过了:

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

这将搜索所有列,并更改 DataTables 自己的搜索字段中的值。如果我添加 column(),它将不再在表中搜索,尽管它在没有过滤/搜索的情况下再次绘制所有 ajax 数据。

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

我的问题:在服务器端处理的数据上实现外部列搜索/过滤的正确方法是什么?

谢谢!

【问题讨论】:

    标签: search datatables server-side


    【解决方案1】:

    您正在正确使用column().search() API 函数。

    但是,在服务器端处理中,单个列搜索在单独的请求参数中发送,请参阅Server-side processing。

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

    您需要在服务器端单独处理这些单独的列搜索,手动或借助库。

    【讨论】:

    • 哦,谢谢!我现在看到了我的解决方案的问题。你觉得这个图书馆怎么样? github.com/zepernick/Codeigniter-DataTables
    • NONONO 绝对没有。即使是链接解决方案的演示也有错误。
    猜你喜欢
    • 2021-11-14
    • 1970-01-01
    • 2011-08-24
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多