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代码
May 03 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
May 23 Javascript
Jquery在指定DIV加载HTML示例代码
Feb 17 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
Jun 07 Javascript
js实现选中页面文字将其分享到新浪微博
Nov 05 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
Dec 13 Javascript
js实现点击每个li节点,都弹出其文本值及修改
Dec 15 Javascript
JS限制条件补全问题实例分析
Dec 16 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
Feb 05 Javascript
React-router v4 路由配置方法小结
Aug 08 Javascript
VUE2实现事件驱动弹窗示例
Oct 21 Javascript
node-red File读取好保存实例讲解
Sep 11 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开发框架myqee新手快速入门教程
2014/07/14 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
javascript制作2048游戏
2015/03/30 Javascript
node模块机制与异步处理详解
2016/03/13 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
微信小程序登录session的使用
2019/03/17 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python获取央视节目单的实现代码
2015/07/25 Python
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
python将unicode和str互相转化的实现
2020/05/11 Python
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
汽车转让协议书
2015/01/29 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python