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 相关文章推荐
JavaScript 设计模式 富有表现力的Javascript(一)
May 26 Javascript
理解Javascript_08_函数对象
Oct 15 Javascript
JQuery AJAX 中文乱码问题解决
Jun 05 Javascript
JQuery操作textarea,input,select,checkbox方法
Sep 02 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
Mar 19 Javascript
JS获取子、父、兄节点方法小结
Aug 14 Javascript
js 判断一个数字是不是2的n次方幂的实例
Nov 26 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
bootstrap 点击空白处popover弹出框隐藏实例
Jan 24 Javascript
webpack 4.0.0-beta.0版本新特性介绍
Feb 10 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
Aug 27 Javascript
字节飞书面试promise.all实现示例
Jun 16 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中json_encode中文编码问题分析
2011/09/13 PHP
php数组合并的二种方法
2014/03/21 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
JQuery团队打造的javascript单元测试工具QUnit介绍
2010/02/26 Javascript
extjs之去除s.gif的影响
2010/12/25 Javascript
jquery动态增加删除表格行的小例子
2013/11/14 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
基于jquery实现百度新闻导航菜单滑动动画
2016/03/15 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
JavaScript 随机验证码的生成实例代码
2016/09/22 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
JavaScript如何操作css
2020/10/24 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
python append、extend与insert的区别
2016/10/13 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
django初始化数据库的实例
2018/05/27 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
护理专业应届毕业生推荐信
2013/11/15 职场文书
工作决心书
2014/03/11 职场文书
三字经教学反思
2014/04/26 职场文书
预备党员转正考核材料
2014/06/03 职场文书