DataTables - 向列添加过滤功能

时间:2012-04-10 10:49:44

标签: jquery-plugins datatables

我有一张表格,其中包含我想从搜索框中排除的信息。例如,在其中一列中我有一些文本然后是链接,它看起来像:

<td>
  <div>John Doe</div>
  <div>
    <a href="/usr/johndoe/view">View</a> | 
    <a href="/usr/johndoe/edit">Edit</a> |
    <a href="/usr/johndoe/delete">Delete</a>
  </div>
</td>

当然,在这种情况下,我希望搜索框只考虑“John Doe”作为要搜索的文本。

我在php中绘制表格(我使用Symfony-2)并使用带有jQuery的dataTable函数应用DataTable插件。我的印象是我想要的是可能的,但无法实现它。像http://www.datatables.net/forums/discussion/255/customising-the-way-the-filter-works/p1这样的其他讨论也没有帮助我解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

我确信有多种方法可以自定义实际的搜索功能(您可以使用mDataProp指定列的类型,然后为该类型编写custom filter?)。

但另一种方法是让你的PHP脚本只提供名称:John Doe。这将是该单元格的原始数据。

然后在您的列定义中,使用fnRender()使用您在问题中使用的布局来格式化单元格 - 并让它自动解析名称以创建您想要的链接(假设所有名称都是第一个和最后一个,并且所有链接只使用组合的名/姓,这应该相当容易实现)。

然后为该列设置bUseRenderedfalse,它将根据原始内容而不是新内容执行所有排序和过滤。 See more here