tablesorter.js表格排序使用方法(支持中文排序)


Posted in Javascript onFebruary 10, 2017

最近,因为项目需要,对表格排序做了一下摸索,整理如下:

1. 首先,可从官网下载tablesorter.js,但并不支持中文的排序,对其源码进行修改:

部分源码:

function sortText(a, b) {
  return ((a < b) ? -1 : ((a > b) ? 1 : 0));
};
function sortTextDesc(a, b) {
  return ((b < a) ? -1 : ((b > a) ? 1 : 0));
};

修改后:

function sortText(a,b) {  
  return a.localeCompare(b);  
};  
function sortTextDesc(a,b) {  
  return b.localeCompare(a);  
};

修改完之后的js可支持中文的排序。

2.建立一个表格,格式如下:

<table>
  <thead>
    <tr><th></th></tr>
  </thead>
  <tr><td></td></tr>
</table>
<html>
<head>
  <title>jquery.tablesorter</title>
  <script language="JavaScript" type="text/javascript" src="jquery-1.3.2.min.js"></script>
  <script type="text/javascript" src="/manage/plugin/tablesorter/tablesorter.js"></script>
  <link rel="stylesheet" href="/manage/plugin/tablesorter/blue/style.css type=" rel="external nofollow" text/css" />

  <script type="text/javascript">
    $("#mytable").tablesorter();
  </script>
</head>
<body>
<table id="mytable" border="1" class="tablesorter">
  <thead>
    <tr>
      <th class="header">First Name</th>   
      <th class="header">Last Name</th>   
      <th class="header">Age</th>   
      <th class="header">Total</th>   
      <th class="header">Discount</th>   
      <th class="header">Date</th>
      <th class="header">State</th>
    </tr>
  </thead>
  <tr>   
    <td>Peter</td>   
    <td>Parker</td>   
    <td>28</td>   
    <td>$9.99</td>   
    <td>20%</td>      
    <td>Jul 6, 2006 8:14 AM</td>
    <td>已审核</td> 
  </tr>   
  <tr>   
    <td>John</td>   
    <td>Hood</td>   
    <td>33</td>   
    <td>$19.99</td>   
    <td>25%</td>      
    <td>Dec 10, 2002 5:14 AM</td> 
    <td>已审核</td>   
  </tr>   
  <tr>   
    <td>Clark</td>   
    <td>Kent</td>   
    <td>18</td>   
    <td>$15.89</td>   
    <td>44%</td>   
    <td>Jan 12, 2003 11:14 AM</td> 
    <td>已作废</td>   
  </tr>   
  <tr>   
    <td>Bruce</td>   
    <td>Almighty</td>   
    <td>45</td>   
    <td>$153.19</td>   
    <td>44%</td>      
    <td>Jan 18, 2001 9:12 AM</td>
    <td>待审核</td> 
  </tr>   
  <tr>   
    <td>Bruce</td>   
    <td>Evans</td>   
    <td>22</td>   
    <td>$13.19</td>   
    <td>11%</td>   
    <td>Jan 18, 2007 9:12 AM</td>
    <td>已生效</td> 
  </tr>
</table>
</body>
</html>

页面显示如图所示:

tablesorter.js表格排序使用方法(支持中文排序)

点击表头,就能够排序。

注:

1).若是第五列、第六列不需要排序,代码如下:

$("#mytable").tablesorter({headers:{4:{sorter:false},5:{sorter:false}}});

(顺便需要去掉对应列的样式)

2).若是第五列需要自定义排序方式,第六列不排序,代码如下:

$.tablesorter.addParser({
  id: "grade", //指定一个唯一的ID
  is: function(s){
    return false;
  },
  format: function(s){
    return s.toLowerCase().replace(/已作废/,1).replace(/待审核/,2).replace(/已审核/,3).replace(/已生效/,4); //将中文换成数字
  },
  type: "numeric" //按数值排序
});

$("#mytable").tablesorter({headers:{4:{sorter:"grade"},5:{sorter:false}}});

需要更多例子,可以到官网研究。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
Mar 01 Javascript
js与jQuery 获取父窗、子窗的iframe
Dec 20 Javascript
select多选 multiple的使用示例
Jun 16 Javascript
jQuery中parents()和parent()的区别分析
Oct 28 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
Nov 26 Javascript
Backbone.js的一些使用技巧
Jul 01 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
Jan 19 Javascript
javascript模块化简单解析
Apr 07 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
Dec 18 Javascript
Vue之Watcher源码解析(2)
Jul 19 Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 Javascript
在vue中使用防抖函数组件操作
Jul 26 Javascript
jquery.tableSort.js表格排序插件使用方法详解
Aug 12 #Javascript
TableSort.js表格排序插件使用方法详解
Feb 10 #Javascript
微信小程序 JS动态修改样式的实现代码
Feb 10 #Javascript
基于jQuery实现简单人工智能聊天室
Feb 10 #Javascript
基于jQuery实现咖啡订单管理简单应用
Feb 10 #Javascript
基于jQuery实现弹幕APP
Feb 10 #Javascript
BOM之navigator对象和用户代理检测
Feb 10 #Javascript
You might like
PHP 各种排序算法实现代码
2009/08/20 PHP
ajax实现无刷新分页(php)
2010/07/18 PHP
PHP反向代理类代码
2014/08/15 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
php的curl封装类用法实例
2014/11/07 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
javascript跨域刷新实现代码
2011/01/01 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
2020/03/17 Javascript
利用js实现简易红绿灯
2020/10/15 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
Django开发中复选框用法示例
2018/03/20 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
快速了解Python开发环境Spyder
2020/06/29 Python
十一个高级MySql面试题
2014/10/06 面试题
求职信写作要突出重点
2014/01/01 职场文书
优秀的自荐信要注意哪些
2014/01/03 职场文书
装修五一活动策划案
2014/01/23 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
2014年助理政工师工作总结
2014/12/19 职场文书
趣味运动会赞词
2015/07/22 职场文书
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技