Jquery 表排序器和姓氏
这似乎应该很容易做到Jquery 表排序器和姓氏,jquery,tablesorter,Jquery,Tablesorter,这似乎应该很容易做到 <table> <tr><td>Name</td><td>Number</td></tr> <tr><td>Joe Bloggs</td><td>10</td></tr> <tr><td>Joe Adams</td><td>12</td>
<table>
<tr><td>Name</td><td>Number</td></tr>
<tr><td>Joe Bloggs</td><td>10</td></tr>
<tr><td>Joe Adams</td><td>12</td></tr>
</table>
姓名号码
Joe Bloggs10
乔·亚当斯12
使用jquery.tablesorter
,单击名称列时,我希望它按第一列的姓氏部分排序,而不是按默认值(即名字)排序
我知道这可以通过先从PHP反转来实现,所以Adams,Joe
;但这看起来很可怕,看起来很笨重
这可以通过自定义排序来完成吗?首先,您应该听取Rory和Sargiv的两条评论的建议,因为这会造成混乱的行为,但是如果您仍然坚持这样做,您可以添加如下自定义解析器
$.tablesorter.addParser({
// set a unique id
id: 'surname',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
var parts = s.split(" ");
// alert(parts[1]);
// return surname here
return parts[1];
},
// set type, either numeric or text
type: 'text'
});
然后将其添加为name列的解析器,如下所示
$('table').tablesorter({
// include zeba widgets
widgets: ['zebra'],
headers: {
0: {
sorter:'surname'
}
}
});
这是工作的提琴,点击名字标题检查,忽略其他字段,因为我编辑了一个现有的提琴
这是自定义解析器上的插件页面,这不让人困惑吗?通过单击名称,您希望它按名称排序。通过点击数字,你可以按数字排序。我同意萨吉夫的观点,这似乎是一种令人困惑的行为。将姓氏作为一个单独的列,这样人们就可以选择按FN或SN排序,不是更好吗?