实现功能:

通过点击表头某个字段,实现内容的升序或降序排序。

效果如下:

完整代码:

<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-3.2.1.min.js"></script>
<style media="screen">
table {
border-collapse: collapse;
border-color: rgba(205, 193, 222, 0.84);
}
</style>
</head> <body>
<table border="1">
<thead>
<tr>
<th>
&nbsp;编号&nbsp;
</th>
<th>
&nbsp;语言&nbsp;
</th>
<th>
&nbsp;课时&nbsp;
</th> </tr>
</thead>
<tbody>
<tr>
<td>c001</td>
<td>c#</td>
<td>80</td>
</tr>
<tr>
<td>c002</td>
<td>Java</td>
<td>70</td>
</tr>
<tr>
<td>c003</td>
<td>PHP</td>
<td>60</td>
</tr>
<tr>
<td>c004</td>
<td>Perl</td>
<td>50</td>
</tr>
</tbody>
</table> <script>
$(document).ready(function() {
var sort_direction=1; //排序标志,1为升序,-1为降序
$('th').each(function(i) {
$(this).click(function() {
if(sort_direction==1) {
sort_direction=-1;
}
else {
sort_direction=1;
}
//获得行数组
var trarr=$('table').find('tbody > tr').get();
//数组排序
trarr.sort(function(a, b) {
var col1=$(a).children('td').eq(i).text().toUpperCase();
var col2=$(b).children('td').eq(i).text().toUpperCase();
return(col1 < col2) ? -sort_direction: (col1 > col2) ? sort_direction: 0;
//返回-1表示a>b降序,返回1表示a<b升序,否则为0相等
/*
* if (col1 > col2) {
return sort_direction;
}else if(col1 <col2){
return -sort_direction;
}else{
return 0;
}*/
}
);
$.each(trarr, function(i, row) {
//将排好序的数组重新填回表格
$('tbody').append(row);
}
);
}
);
}
);
} );
</script> </body> </html>

【Demo】jQuery 表格内容动态排序的更多相关文章

  1. jquery 表格排序,实时搜索表格内容

    jquery 表格排序,实时搜索表格内容   演示 XML/HTML Code <table class="table-sort"> <thead> < ...

  2. 编辑表格输入内容、根据input输入框输入数字动态生成表格行数、编辑表格内容提交传给后台数据处理

    编辑表格输入内容.根据input输入框输入数字动态生成表格行数.编辑表格内容提交传给后台数据处理 记录自己学习做的东西,写的小demo,希望对大家也有帮助! 代码如下: <!DOCTYPE ht ...

  3. jQuery 表格排序插件 Tablesorter 使用

    jQuery 表格排序插件 Tablesorter 使用方式如下: 1.引入头文件(注意一定要把jQuery放在前面): <script src="lib/jquery-1.8.3.m ...

  4. jQuery代码实现表格内容可编辑修改

    1.效果及功能说明 表格特效制作jquery表格可编辑任意修改里面的数值,是一种比较人性化的用户设计体验方式 2.实现原理 通过点击事件来触发跳出一个输入框可以在里面输入当这个输入框失去焦点后就把,所 ...

  5. jquery动态表格,动态添加表格行

    转载收藏于:https://www.cnblogs.com/zhangqs008/archive/2013/05/09/3618459.html 效果图:   Html:<html> &l ...

  6. js实现前端动态筛选表格内容

    代码参考: http://www.sharejs.com/codes/javascript/4289 http://www.jb51.net/article/103420.htm https://ww ...

  7. 基于layui,Jquery 表格动态编辑 设置 编辑值为 int 或者 double 类型及默认值

    首先先推荐大家在看这篇笔记时,阅读过我写的这篇 Layui表格编辑[不依赖Layui的动态table加载] 阅读过上面那篇笔记之后呢,才能更好的理解我现在所要说的这个东西 接下来废话不多说,上代码. ...

  8. Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数、ColModel API、事件及方法

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  9. 推荐几款jQuery表格插件

    平时项目中,会碰到很多表格元素,这里推荐几款jQuery表格插件. Stackable.js 通常在小屏幕上,表格的表形形式不大好,因为用户会缩放平移,或者就是表格太小,导致数据不可见.Stackab ...

随机推荐

  1. PAT 1136 A Delayed Palindrome[简单]

    1136 A Delayed Palindrome (20 分) Consider a positive integer N written in standard notation with k+1 ...

  2. ITL(Interested Transaction List)理解

    一.ITL描述: ITL(Interested Transaction List)是Oracle数据块内部的一个组成部分,位于数据块头(block header),itl由xid,uba,flag,l ...

  3. mysql 提示符显示用户,数据库等信息

    命令: mysql -uroot -p --prompt="\\u@\\h:\\d \\r:\\m:\\s>" 效果: root@localhost:(mysql) 02:2 ...

  4. gbdt调参的小结

    关键部分转自http://www.cnblogs.com/pinard/p/6143927.html 第一次知道网格搜索这个方法,不知道在工业中是不是用这种方式 1.首先从步长和迭代次数入手,选择一个 ...

  5. Linux服务器access_log日志分析及配置详解(一)

    nginx的log日志分为access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器.ip和其他的访问信息 error log 则是记录服务器错误日 ...

  6. cocostudio 在VS模拟器中加载资源显示混乱问题

    这个是由于cocos2d-x的资源是统一按照文件名管理的,所以游戏全局不能有重名. PS:所有用到的素材名字必须单一.

  7. 20145316许心远《Java学习笔记(第8版)》课程总结

    20145316许心远<Java学习笔记(第8版)>课程总结 每周读书笔记链接汇总 ▪ 第一周读书笔记 ▪ 第二周读书笔记 ▪ 第三周读书笔记 ▪ 第四周读书笔记 ▪ 第五周读书笔记 ▪ ...

  8. weblogic 清除缓存

    清理缓存步骤如下: 1.前置条件:停止服务 2.找到下面3个目录,然后将里面的文件删除即可: ……/user_projects/domains/base_domain/servers/AdminSer ...

  9. web.py url传参及获取

    第一种:直接获取: import web urls = ( '/(.*)','index' #URL后面必须加(.*) ) class index: def GET(self,name): print ...

  10. Java对map进行排序并生成序号

    最近做的项目有这样一个需求:要求对map中的值进行排序并生成序号.如果值相等则序号不变:如果不相等序号为该数数值在所有元素中的索引.如下表所示: Key(String) Value(Float) Id ...