mottie tablesorter:强制排序文本(不是自然排序)
mottie tablesorter: force sortText (NOT sortNatural)
我做了一个像这样的自定义解析器:
$.tablesorter.addParser({
id: 'custom-sort-value',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s, table, cell, cellIndex) {
return $(cell).data('sort-value').toString();
},
type: 'text'
});
但是,我注意到它最终使用了 tablesorter 函数 sortNatural
(因为 type: 'text'
)。但是,我需要它来进行基本的字母排序,比如 tablesorter 的 sortText
(我不能让它拆分字符串并比较每个拆分)。有什么办法可以强制它这样做吗?
因此,您不需要自定义解析器即可从属性中获取文本。 tablesorter 的分支尝试从 data-text
获取自定义排序字符串(可以通过将 textAttribute
option), but only when the textExtraction
option 设置为 "basic" (默认设置)进行修改。
因此,要使用基本 sortText
排序,请使用 textSorter
option 按列设置自定义排序功能:
$(function(){
$("table").tablesorter({
textSorter : {
// replace INDIVIDUAL COLUMN text sorter functions
0 : function(a, b, direction, columnIndex, table){
// same as $.tablesorter.sortText (basic alphabetical sort)
// direction: true = ascending; false = descending
// columnIndex: zero-based index of the current table column being sorted
// table: table DOM element (access options by using table.config)
return a > b ? 1 : (a < b ? -1 : 0);
},
1 : $.tablesorter.sortText, // same as the function in column 0 above (modified in v2.12)
2 : $.tablesorter.sortNatural, // renamed v2.12 from $.tablesorter.sortText - performs natural sort
3 : Array.AlphanumericSort // alphanumeric sort from sugar (http://sugarjs.com/arrays#sorting)
}
});
});
我做了一个像这样的自定义解析器:
$.tablesorter.addParser({
id: 'custom-sort-value',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s, table, cell, cellIndex) {
return $(cell).data('sort-value').toString();
},
type: 'text'
});
但是,我注意到它最终使用了 tablesorter 函数 sortNatural
(因为 type: 'text'
)。但是,我需要它来进行基本的字母排序,比如 tablesorter 的 sortText
(我不能让它拆分字符串并比较每个拆分)。有什么办法可以强制它这样做吗?
因此,您不需要自定义解析器即可从属性中获取文本。 tablesorter 的分支尝试从 data-text
获取自定义排序字符串(可以通过将 textAttribute
option), but only when the textExtraction
option 设置为 "basic" (默认设置)进行修改。
因此,要使用基本 sortText
排序,请使用 textSorter
option 按列设置自定义排序功能:
$(function(){
$("table").tablesorter({
textSorter : {
// replace INDIVIDUAL COLUMN text sorter functions
0 : function(a, b, direction, columnIndex, table){
// same as $.tablesorter.sortText (basic alphabetical sort)
// direction: true = ascending; false = descending
// columnIndex: zero-based index of the current table column being sorted
// table: table DOM element (access options by using table.config)
return a > b ? 1 : (a < b ? -1 : 0);
},
1 : $.tablesorter.sortText, // same as the function in column 0 above (modified in v2.12)
2 : $.tablesorter.sortNatural, // renamed v2.12 from $.tablesorter.sortText - performs natural sort
3 : Array.AlphanumericSort // alphanumeric sort from sugar (http://sugarjs.com/arrays#sorting)
}
});
});