如何解决jQuery表排序器-dd / mm / yyyy解析器
| 经过四处搜寻,我似乎无法按英国日期格式(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,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
},}});
});
解决方法
我个人使用来自tablesorter.com的Jquery tablesorter脚本
将dateFormat-属性设置为\“ uk \”。
$(\"#myTable\").tablesorter({
widgets: [\'zebra\'],dateFormat: \"uk\",sortList: [[0,0]],headers: { 5: { sorter: false}}
});
您使用不同的选项多次调用脚本,这会使性能不佳的库感到困惑。
仅使用上面设置的所有不同选项致电表分类器。
我没有检查斑马小部件,但其余部分的行为现在应该是这样。
祝您好运:-)
,您需要为此定义一个解析器。就像是
// 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\'
}
}
});
});
,这回避了这个问题,但是我可能只是配置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();
}
}
,http://mottie.github.io/tablesorter/docs/
设置日期格式。这是可用的选项。 (修改后的v2.0.23)。
\“ mmddyyyyy \”(默认)
\“ ddmmyyyy \”
\“ yyyymmdd \”
在以前的版本中,此选项设置为\“ 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):
jQuery数据data-dateFormat = \“ mmddyyyy \”。
元数据类= \“ {dateFormat:\'mmddyyyy \'} \”。这需要元数据插件。
标头选项标头:{0:{dateFormat:\'mmddyyyy \'}}。
标头类名称class = \“ dateFormat-mmddyyyyy \”。
总体dateFormat选项。
就我而言,
$(\"#myTable\").tablesorter({dateFormat: \"uk\"})
版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。