搜索后,我似乎无法按英国日期格式排序第一列 - dd / mm / yyyy 有人愿意帮我解决这个问题吗?目前的js是:
$(document).ready(function()
{
$("table.tablecontainer").tablesorter({widgets: ['zebra']});
$("#myTable").tablesorter({
sortList: [[0,0]],
headers: {
5:{
sorter: false
}
}
});
});
所有帮助都表示赞赏,因为这不是我可以将自己称为精通的领域!
更新的代码:
$(document).ready(function()
{
$("#myTable").tablesorter({widgets: ['zebra']});
$("#myTable").tableSorter( {dateFormat: "uk"} );
$("#myTable").tablesorter({
sortList: [[0,0]],
headers: {
// assign the sixth column (we start counting zero)
5:{
// this is header 6 since the headers start at 0
// disable it by setting the property sorter to false
sorter: false
},
}});
});
答案 0 :(得分:8)
我个人使用tablesorter.com中的Jquery tablesorter脚本 将dateFormat-属性设置为“uk”。
$("#myTable").tablesorter({
widgets: ['zebra'],
dateFormat: "uk",
sortList: [[0, 0]],
headers: { 5: { sorter: false}}
});
您使用不同的选项多次调用脚本,这会使可怜的库感到困惑。
只对上述所有不同选项的tablesorter进行一次调用。
我没有检查过zebra小部件,但其余部分的行为与现在一样。
祝你好运: - )答案 1 :(得分:5)
您需要为此定义 parser 。像
这样的东西// add parser through the tablesorter addParser method
$.tablesorter.addParser({
// set a unique id
id: 'uk-date',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
var date = s.split('/');
return new Date(date[2],date[1],date[0]).getTime();
},
// set type, either numeric or text
type: 'numeric'
});
这可能与更好的格式检查有关。我建议在一个单独的脚本中将解析器定义到tablesorter插件,以便您可以轻松升级。您可以在tablesorter脚本之后的<script>
标记中引用解析器脚本。
使用就像
$(function() {
$("table").tablesorter({
headers: {
1: {
sorter:'uk-date'
}
}
});
});
答案 2 :(得分:0)
这回答了这个问题,但我可能只是配置了textExtraction选项(见这里:http://tablesorter.com/docs/#Configuration)
你可以在隐藏的范围内放置一个可排序的日期(如下所示,为class ='sort_key')并设置如下内容:
textExtraction: function(node) {
if($j(node).find('.sort_key').is('span') {
return $j(node).find('.sort_key').text();
} else {
return $j(node).text();
}
}
答案 3 :(得分:0)
http://mottie.github.io/tablesorter/docs/
设置日期格式。以下是可用选项。 (修改版v2.0.23)。
在以前的版本中,此选项设置为“us”,“uk”或“dd / mm / yy”。修改此选项以更好地适应所需的日期格式。它只适用于四位数年份!
分拣机应设置为“shortDate”,日期格式可以在“dateFormat”选项中设置,也可以设置为“headers”选项中的特定列。请参阅演示页面以了解它是否正常工作。
$(function(){
$("table").tablesorter({
dateFormat : "mmddyyyy", // default date format
// or to change the format for specific columns,
// add the dateFormat to the headers option:
headers: {
0: { sorter: "shortDate" }, // "shortDate" with the default dateFormat above
1: { sorter: "shortDate", dateFormat: "ddmmyyyy" }, // day first format
2: { sorter: "shortDate", dateFormat: "yyyymmdd" } // year first format
}
});
});
可以通过添加以下内容来修改各个列(它们都做同样的事情),按优先级顺序设置(修改后的v2.3.1):
在我的情况下,我使用了
$("#myTable").tablesorter({dateFormat: "uk"})
版本。