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调用后台的三种方法实例
Oct 17 Javascript
javascript检测浏览器的缩放状态实现代码
Sep 28 Javascript
jQuery中mouseover事件用法实例
Dec 26 Javascript
如何用angularjs制作一个完整的表格
Jan 21 Javascript
Jquery表单验证失败后不提交的解决方法
Oct 18 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
Nov 25 Javascript
jquery.tableSort.js表格排序插件使用方法详解
Aug 12 Javascript
Node.js  REPL (交互式解释器)实例详解
Aug 06 Javascript
vue watch深度监听对象实现数据联动效果
Aug 16 Javascript
详解jQuery设置内容和属性
Apr 11 jQuery
Layui动态生成select下拉选择框不显示的解决方法
Sep 24 Javascript
微信小程序可滑动月日历组件使用详解
Oct 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全排列递归算法代码
2012/10/09 PHP
PHP标准库 (SPL)――Countable用法示例
2020/06/05 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
js格式化货币数据实现代码
2013/09/04 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
[50:02]完美世界DOTA2联赛循环赛 Magma vs IO BO2第一场 11.01
2020/11/02 DOTA
python提取页面内url列表的方法
2015/05/25 Python
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
Python实现统计代码行的方法分析
2017/07/12 Python
Django 使用logging打印日志的实例
2018/04/28 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
python3使用腾讯企业邮箱发送邮件的实例
2019/06/28 Python
python中的colorlog库使用详解
2019/07/05 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
Python的collections模块真的很好用
2021/03/01 Python
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
新学期校长寄语
2014/01/18 职场文书
四年级评语大全
2014/04/21 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
2015年幼儿园元旦亲子活动方案
2014/12/09 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
假期读书倡议书3篇
2019/08/19 职场文书
用JS创建一个录屏功能
2021/11/11 Javascript
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技