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 实现 秒杀,团购 倒计时展示的记录 分享
Jul 12 Javascript
JS定时器实例详细分析
Oct 11 Javascript
Javascript访问器属性实例分析
Dec 30 Javascript
jQuery中$.click()无效问题分析
Jan 29 Javascript
JavaScript实现搜索框的自动完成功能(一)
Feb 25 Javascript
jQuery取消特定的click事件
Feb 29 Javascript
js表单元素checked、radio被选中的几种方法(详解)
Aug 22 Javascript
vue2.0结合Element实现select动态控制input禁用实例
May 12 Javascript
详解vue跨组件通信的几种方法
Jun 15 Javascript
详谈js模块化规范
Jul 07 Javascript
JS中call和apply函数用法实例分析
Jun 20 Javascript
javascript利用键盘控制小方块的移动
Apr 20 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
Yii获取当前url和域名的方法
2015/06/08 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
js 幻灯片的实现
2011/12/06 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
jQuery使用height()获取高度需要注意的地方
2014/12/13 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
QML实现钟表效果
2020/06/02 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
Python requests上传文件实现步骤
2020/09/15 Python
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
校园门卫岗位职责
2013/12/09 职场文书
大学生学业生涯规划
2014/01/05 职场文书
会议室标语
2014/06/21 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
酒店厨房管理制度
2015/08/06 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书
物业管理交接协议书
2016/03/24 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技