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 submit()无法提交问题
Apr 21 Javascript
将form表单中的元素转换成对象的方法适用表单提交
May 02 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
Jun 23 Javascript
介绍JavaScript的一个微型模版
Jun 24 Javascript
AngularJS实现Model缓存的方式
Feb 03 Javascript
vue实现导航栏效果(选中状态刷新不消失)
Dec 13 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
May 30 Javascript
vue-cli3.0配置及使用注意事项详解
Sep 05 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
Vue.js中的extend绑定节点并显示的方法
Jun 20 Javascript
vue 开发企业微信整合案例分析
Dec 02 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
Mar 07 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实现无限级分类实现代码(递归方法)
2011/01/01 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
2017/07/03 PHP
js 对象是否存在判断
2009/07/15 Javascript
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
jQuery多项选项卡的实现思路附样式及代码
2014/06/03 Javascript
javascript中的作用域和闭包详解
2016/01/13 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
通过fastclick源码分析彻底解决tap“点透”
2017/12/24 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
Python读取properties配置文件操作示例
2018/03/29 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
Django中FilePathField字段的用法
2020/05/21 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
商业活动邀请函
2014/02/04 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
西游记读书笔记
2015/06/25 职场文书
利用Python+OpenCV三步去除水印
2021/05/28 Python
Python一行代码实现自动发邮件功能
2021/05/30 Python
我的收音机情缘
2022/04/05 无线电
数据设计之权限的实现
2022/08/05 MySQL