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 相关文章推荐
JS 容错处理代码, 屏蔽错误信息
Mar 09 Javascript
jQuery 源码分析笔记(3) Deferred机制
Jun 19 Javascript
Json序列化和反序列化方法解析
Dec 19 Javascript
jQuery模拟点击A标记示例参考
Apr 17 Javascript
原生js页面滚动延迟加载图片
Dec 20 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
Jul 04 Javascript
ES2015 Symbol 一种绝不重复的值
Dec 25 Javascript
详解Node.js项目APM监控之New Relic
May 12 Javascript
js运算符的一些特殊用法
Jul 29 Javascript
利用es6 new.target来对模拟抽象类的方法
May 10 Javascript
vue2配置scss的方法步骤
Jun 06 Javascript
微信小程序3D轮播实现代码
Sep 19 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+xslt在windows平台上
2006/10/09 PHP
PHP 第二节 数据类型之数值型
2012/04/28 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
String.prototype实现的一些javascript函数介绍
2013/11/22 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
微信小程序(订阅消息)功能
2019/10/25 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
python使用range函数计算一组数和的方法
2015/05/07 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
Centos7 Python3下安装scrapy的详细步骤
2018/03/15 Python
详解django自定义中间件处理
2018/11/21 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Django 限制访问频率的思路详解
2019/12/24 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
详解Canvas事件绑定
2018/06/27 HTML / CSS
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
什么是View State?
2013/01/27 面试题
小学母亲节活动方案
2014/03/14 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书