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 自动转到命名锚记
Jan 10 Javascript
JavaScript 权威指南(第四版) 读书笔记
Aug 11 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
Mar 14 Javascript
jquery select动态加载选择(兼容各种浏览器)
Feb 01 Javascript
jQuery实现购物车表单自动结算效果实例
Aug 10 Javascript
JQuery用户名校验的具体实现
Mar 18 Javascript
浅析$(function) ready和onload 的区别
Sep 03 Javascript
给easyui datebox扩展一个清空的实例
Nov 09 Javascript
javascript阻止事件冒泡和浏览器的默认行为
Jan 21 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
Jun 13 Javascript
vue 中引用gojs绘制E-R图的方法示例
Aug 24 Javascript
微信小程序保存多张图片的实现方法
Mar 05 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中使用unset销毁变量并内存释放问题
2012/07/05 PHP
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
PHP中使用curl入门教程
2015/07/02 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
javascript实现二叉树遍历的代码
2017/06/08 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
2019/07/25 jQuery
vue实现匀速轮播效果
2020/06/29 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
Python实现备份文件实例
2014/09/16 Python
浅析Python中的序列化存储的方法
2015/04/28 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
自我鉴定四大框架
2014/01/17 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
社团活动总结范文
2014/04/26 职场文书
家长给学校的建议书
2014/05/15 职场文书
预备党员对照检查材料思想汇报
2014/09/24 职场文书
车间质检员岗位职责
2015/04/08 职场文书
预备党员考察意见范文
2015/06/01 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
暑假打工感想
2015/08/07 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
加强党性修养心得体会
2016/01/21 职场文书
高三生物教学反思
2016/02/22 职场文书