我有一个包含标题、作者、出版商和日期的书籍表。在标题栏下,很多书名都以“The”开头。如何在 jquery datatables插件中设置排序以在排序此列时忽略第一个单词(如果它是“The”)?
谢谢。
我有一个包含标题、作者、出版商和日期的书籍表。在标题栏下,很多书名都以“The”开头。如何在 jquery datatables插件中设置排序以在排序此列时忽略第一个单词(如果它是“The”)?
谢谢。
也许你可以使用这样的东西:
首先,您为列定义自定义排序类型,例如“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
],
编写一个将文章(The,A,An)移动到字符串末尾的标题 jquery 渲染器可能会更容易。
音乐之声 -> 音乐之声
您可能希望对以“A”和“An”开头的标题做同样的事情。