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 jquery验证银行卡号信息正则学习
Jan 21 Javascript
jquery滚动条插件jScrollPane的使用介绍
Nov 08 Javascript
json中换行符的处理方法示例介绍
Jun 10 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
Jun 20 Javascript
json定义及jquery操作json的方法
Oct 03 Javascript
JQuery实现图片轮播效果
May 08 jQuery
利用vue开发一个所谓的数独方法实例
Dec 21 Javascript
示例vue 的keep-alive缓存功能的实现
Dec 13 Javascript
vue实现购物车抛物线小球动画效果的方法详解
Feb 13 Javascript
layui实现多图片上传并限制上传的图片数量
Sep 26 Javascript
node.js express框架实现文件上传与下载功能实例详解
Oct 15 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
Jul 21 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获取毫秒级时间戳的方法
2015/04/15 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
PHP基本语法实例总结
2016/09/09 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
js兼容标准的表格变色效果
2008/06/28 Javascript
js 对象是否存在判断
2009/07/15 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
动态加载css方法实现和深入解析
2017/01/18 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
vue 组件高级用法实例详解
2018/04/11 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
Python魔术方法专题
2020/06/19 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
HTML5中的新元素介绍
2008/10/17 HTML / CSS
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
户外用品商店创业计划书
2014/01/29 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
自我工作评价范文
2015/03/06 职场文书
荒岛余生观后感
2015/06/09 职场文书
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL