我有以下表格:
<table class='tablesorter'>
<thead>
<tr style='font-weight:bold;'><td></td><th>Date</th><th>Name</th><th>Town</th></tr>
</thead>
<tbody>
<tr><td>04.08.2013</td><td>Martin</td><td>Chicago</td></tr>
<tr><td>04.08.2013</td><td>Justin</td><td>Washington</td></tr>
<tr><td>04.08.2013</td><td>Paul</td><td>Berlin</td></tr>
<tr><td>04.08.2013</td><td>Penny</td><td>Prague</td></tr>
</tbody>
</table>
我使用以下Tablesorter设置:
<script type="text/javascript" id="js">
$(document).ready(function() {
$("table").tablesorter({
sortList: [[1,1]]
headers: {
1: {sorter:"dd.mm.yyyy"}
}
});
$.tablesorter.addParser({
id: "dd.mm.yyyy",
is: function(s) {
return false;
},
format: function(s) {
s = "" + s;
var hit = s.match(/(\d{1,2})\.(\d{1,2})\.(\d{4})/);
if (hit && hit.length == 4) {
return hit[3] + hit[2] + hit[1];
}
else {
return s;
}
},
type: "text"
});
});
</script>
按日期格式dd.mm.yyyy对列进行排序很方便,但我还需要'排序箭头'以进行自定义用户排序,如here
有什么想法吗?
由于
P.S。:对不起我的英文:)
答案 0 :(得分:3)
尝试将$.tablesorter.addParser
函数放在文档就绪函数之外(在初始化表之前):
<script>
$.tablesorter.addParser({
id: "dd.mm.yyyy",
is: function(s) {
return false;
},
format: function(s) {
s = "" + s;
var hit = s.match(/(\d{1,2})\.(\d{1,2})\.(\d{4})/);
if (hit && hit.length == 4) {
return hit[3] + hit[2] + hit[1];
} else {
return s;
}
},
type: "text"
});
$(function() {
$("table").tablesorter({
sortList: [[1,1]], // add the missing comma here!
headers: {
1: {sorter:"dd.mm.yyyy"}
}
});
});
</script>