时间:2021-05-26
简介
Tablesorter 是一个用来直接在浏览器上对表格数据进行排序的jQuery插件,无需再次刷新页面,支持多种单元格数据类型,例如数值、字符串、日期和自定义排序。
使用说明
引入jquery.tablesorter
所用文件下载:
jquery-2.0.2.min.js
jquery.tablesorter.min.js tablesorert官网
http://tablesorter.com
修改表格
html如下:
<table class="table table-striped table-bordered table-hover tablesorter" id="tbList">
注:为table添加id和class,class必有tablesorter,id可有可无.
css: (详见文章末尾详细代码)
定义表格样式:表头、升序、降序等样式。
排序实现
点击表头时,即可对其相应的列进行排序;
js代码如下:
<script type="text/javascript">$("#tbList").tablesorter();//无id时,可以用 $(".tablesorter").tablesorter();</script>效果如图:
降序
升序
数据后带有汉字
对于如图所示的序号、年龄、进度等各类数字类型的数据,排序功能毫无差错。
但是,对于如图所示的课程数、时长、分数等数据后带有汉字的数据,排序没什么效果,例如下图:
降序:
升序:
对于这种情况,可以做如下处理:
js代码
//自定义排序 $.tablesorter.addParser({ id: "num", //指定一个唯一的ID is: function(s){ return false; }, format: function(s){ return s.substring(0,s.length-2);//去除后面的汉字 }, type: "numeric" //按数值排序 }); $("#tbList").tablesorter({headers:{5:{sorter:"num"},6:{sorter:"num"},7:{sorter:"num"}}}); //表格第六、七、八列时间格式:xx时xx分xx秒
如上图所示,显然要按时间长短来排序,这种数据,比较麻烦。
对于这种情况,可以做如下处理:
js代码
$.tablesorter.addParser({ id: "num", //指定一个唯一的ID is: function(s){ return false; }, format: function(s){ //对 xx时xx分xx秒 数据的处理 var hourNum= parseInt(s.substring(0,2));//xx时 var minuteNum= parseInt(s.substring(4,6));//xx分 var secondsNum= parseInt(s.substring(7,9));//xx秒 //将时间换算为秒 var seconds=hourNum*3600+minuteNum*60+secondsNum; return seconds; }, type: "numeric" //按数值排序 }); $(".tablesorter").tablesorter({headers:{6:{sorter:"num"}}});//表格第七列排序效果如图:
降序
升序
代码
html
css
js
// $("#tbList").tablesorter();//自定义排序$.tablesorter.addParser({ id: "num", //指定一个唯一的ID is: function(s){ return false; }, format: function(s){ return s.substring(0,s.length-2); }, type: "numeric" //按数值排序 }); $("#tbList").tablesorter({headers:{6:{sorter:"num"},7:{sorter:"num"},8:{sorter:"num"}}}); // //自定义排序// $.tablesorter.addParser({ // id: "num", //指定一个唯一的ID // is: function(s){ // return false; // }, // format: function(s){ // //对xx时xx分xx秒 数据的处理// var hourNum= parseInt(s.substring(0,2));//xx时// var minuteNum= parseInt(s.substring(4,6));//xx分// var secondsNum= parseInt(s.substring(7,9));//xx秒 // //将时间换算为秒// var seconds=hourNum*3600+minuteNum*60+secondsNum;// return seconds;// }, // type: "numeric" //按数值排序 // }); // $("#tbList").tablesorter({headers:{6:{sorter:"num"}}}); //表格第七列以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Juery解决tablesorter中文排序和字符范围的方法。分享给大家供大家参考。具体分析如下:tablesorter是jQuery插件中比较优
项目中要实现table排序的功能。网上有很多解决方案,很多都基于jQuery。jquery.tablesorter,大小17KB,不过他的首页在ie10下兼容性
jQuery的插件dataTables是一个优秀的表格插件,提供了针对表格的排序、浏览器分页、服务器分页、筛选、格式化等功能。如何把数据库中的数据以表格的形式展
BootstrapTable是基于Bootstrap的jQuery表格插件,通过简单的设置,就可以拥有强大的单选、多选、排序、分页,以及编辑、导出、过滤(扩展)
最近,因为项目需要,对表格排序做了一下摸索,整理如下:1.首先,可从官网下载tablesorter.js,但并不支持中文的排序,对其源码进行修改:部分源码:fu