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 多种变量定义(对象直接量,数组直接量和函数直接量)
May 24 Javascript
JS获取农历日期具体实例
Nov 14 Javascript
jquery实现鼠标拖动图片效果示例代码
Jan 09 Javascript
JavaScript AJAX之惰性载入函数
Aug 27 Javascript
使用jQuery实现星级评分代码分享
Dec 09 Javascript
Vue.js第四天学习笔记
Dec 02 Javascript
React中ES5与ES6写法的区别总结
Apr 21 Javascript
网页中的图片查看器viewjs使用方法
Jul 11 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
Dec 20 Javascript
开发Vue树形组件的示例代码
Dec 21 Javascript
node静态服务器实现静态读取文件或文件夹
Dec 03 Javascript
JS实现页面数据懒加载
Feb 13 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
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
PHP的全局错误处理详解
2016/04/25 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
2020/02/06 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
php swoft框架实例用法
2020/12/22 PHP
JS 强制设为首页的代码
2009/01/31 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
2017/01/29 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
详解vue静态资源打包中的坑与解决方案
2018/02/05 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
[03:30]DOTA2完美“圣”典精彩集锦
2016/12/27 DOTA
Pandas 数据处理,数据清洗详解
2018/07/10 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
党员“四风”问题批评与自我批评思想汇报
2014/10/06 职场文书
股东出资协议书
2016/03/21 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python