jQuery dataTables插件 - 如何忽略列排序中的单词

时间:2010-08-20 15:24:50

标签: javascript jquery sorting jquery-plugins datatables

我有一张书,里面有标题,作者,出版商和日期。在标题栏下,很多书名都以“The”开头。如何在jquery datatables插件中设置排序,如果排序此列时为“The”,则忽略第一个单词?

感谢。

2 个答案:

答案 0 :(得分: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
],

答案 1 :(得分:0)

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

音乐之声 - &gt;

音乐之声

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