1

我有一个包含标题、作者、出版商和日期的书籍表。在标题栏下,很多书名都以“The”开头。如何在 jquery datatables插件中设置排序以在排序此列时忽略第一个单词(如果它是“The”)?

谢谢。

4

2 回答 2

1

也许你可以使用这样的东西:

首先,您为列定义自定义排序类型,例如“SongTitle”。使用数据表,您可以通过指定比较函数来定义新的排序类型:

$.fn.dataTableExt.oSort['SongTitle-asc']  = function(a,b) {
    // Modify your title a and your title b by putting "The" in the end
    // Return 1 if a > b
    // Return -1 if a < b
    // Return 0 if a == b
}

请记住定义相反的功能(这是用于升序“asc”顺序)

$.fn.dataTableExt.oSort['SongTitle-desc']  = function(a,b) {
    return -1 * $.fn.dataTableExt.oSort['SongTitle-asc'](a,b);
}

现在告诉 DataTables 使用您的排序,您将新值传递给 aoColumns

"aoColumns": [
    { "sType": "SongTitle" },    // Title
    { "sType": "html" }          // for the next column
],
于 2010-08-21T00:51:57.670 回答
0

编写一个将文章(The,A,An)移动到字符串末尾的标题 jquery 渲染器可能会更容易。

音乐之声 -> 音乐之声

您可能希望对以“A”和“An”开头的标题做同样的事情。

于 2010-08-20T19:20:30.923 回答