Jquery plugins 在td中使用数据排序值属性使用textExtraction进行表排序
增加了以下td。日期值以1990年8月1日的格式出现。我想对那个专栏进行排序。但它不起作用。如何正确设置数据排序值,使其以正确的方式排序Jquery plugins 在td中使用数据排序值属性使用textExtraction进行表排序,jquery-plugins,tablesorter,Jquery Plugins,Tablesorter,增加了以下td。日期值以1990年8月1日的格式出现。我想对那个专栏进行排序。但它不起作用。如何正确设置数据排序值,使其以正确的方式排序 <td data-sort-value="${info.offDate}" class="${someclass}">${info.offDate}</td> “dd-mm-yyyy”的内置解析器不理解月份名称。它需要所有的数值 您可以添加自己的解析器。由于现代浏览器能够解析新日期(“dd-MMM-yyy”),因此解析器非常简单():
<td data-sort-value="${info.offDate}" class="${someclass}">${info.offDate}</td>
“dd-mm-yyyy”的内置解析器不理解月份名称。它需要所有的数值 您可以添加自己的解析器。由于现代浏览器能够解析
新日期(“dd-MMM-yyy”)
,因此解析器非常简单():
此外,textextextraction
方法可以简化为:
textExtraction: function(node) {
return $(node).attr('data-sort-value') || $(node).text();
}
由于jQuery
.attr()
函数在未定义时将返回空字符串,而不是false
只是想知道为什么在这个问题中添加了“charles”标志?它和CharlesProxy有什么关系吗?
$.tablesorter.addParser({
id: 'date-dd-MM-yyyy',
is: function() {
return false;
},
format: function(str) {
var date = str ? new Date(str) : str;
return date instanceof Date && isFinite(date) ? date.getTime() : str;
},
type: 'numeric'
});
$('table').tablesorter({
headers: {
6: { sorter: 'date-dd-MM-yyyy' }
}
});
textExtraction: function(node) {
return $(node).attr('data-sort-value') || $(node).text();
}