DataTables 根据 TD 属性值对 html 表进行排序

Posted

技术标签:

【中文标题】DataTables 根据 TD 属性值对 html 表进行排序【英文标题】:DataTables Sorting html table on the basis of TD Attribute value 【发布时间】:2013-01-29 14:29:12 【问题描述】:

我正在使用 DataTables jquery 库来显示简单的 html 表格标记,即不使用 Ajax 或 JSON。一切都很好,除了我有一些列我想对原始数据进行排序,而不是对显示的格式化数据进行排序。我想在我的 TD 标签中添加一个属性,例如 'data-sort="42"' 并初始化 DataTables,指示它根据该值对列进行排序(如果存在)。

我已阅读 mData 和 mRender 的文档,但它们似乎处理的情况比我自己的要复杂得多,即数据很容易被更改或按需从服务器获取。

请有人为我说明初始化代码是如何进行的,或者指出一个这样做的例子吗?非常感谢!

鲍勃

【问题讨论】:

【参考方案1】:

查看此页面上有关隐藏标题字符串排序(或隐藏标题数字排序)的部分:http://www.datatables.net/plug-ins/sorting。此方法要求您将原始数据放入 span 的 title 属性中:

<td><span title="[raw data]">[Formatted data]</span></td>

然后将其添加到表格的初始化脚本中(假设您正在使用隐藏的标题字符串排序):

"aoColumns": [
     "sType": "title-string" ,
 ]

【讨论】:

以上是关于DataTables 根据 TD 属性值对 html 表进行排序的主要内容,如果未能解决你的问题,请参考以下文章

jQuery DataTables:如果字符串存在于 <td> 中,如何将类添加到 <tr>?

datatables定义列宽自适应方法

在 jQuery DataTables 中的 Ajax 请求之后在 td 中添加 html 元素

数据表 1.10 - TD 中的 HTML5“数据顺序”属性无效

Datatables力宽表

根据数据属性选择 td [重复]