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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
js简单的弹出框有关闭按钮
May 05 Javascript
Flash图片上传组件 swfupload使用指南
Mar 14 Javascript
js获取页面description的方法
May 21 Javascript
JavaScript中函数(Function)的apply与call理解
Jul 08 Javascript
JavaScript小技巧整理篇(非常全)
Jan 26 Javascript
Bootstrap零基础学习第一课之模板
Jul 18 Javascript
jQuery Ajax 加载数据时异步显示加载动画
Aug 01 Javascript
Bootstrap实现下拉菜单多级联动
Nov 23 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
Dec 15 Javascript
JavaScript函数IIFE使用详解
Oct 21 Javascript
Vite和Vue CLI的优劣
Jan 30 Vue.js
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学习教程之第2天
2008/06/15 PHP
php中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
BOM与DOM的区别分析
2010/10/26 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
js style动态设置table高度
2014/10/21 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
小程序云开发部署攻略(图文教程)
2018/10/30 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
python中闭包Closure函数作为返回值的方法示例
2017/12/17 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
CSS3中的Transition过度与Animation动画属性使用要点
2016/05/20 HTML / CSS
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
西班牙在线药店:DosFarma
2020/03/28 全球购物
应届医学毕业生求职信分享
2013/12/02 职场文书
大学运动会入场词
2014/02/22 职场文书
绿色出行口号
2014/06/18 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android