您好,欢迎访问一九零五行业门户网

jQuery+Ajax实现表格数据标题排序

这次给大家带来jquery+ajax实现表格数据标题排序,jquery+ajax实现表格数据标题排序的注意事项有哪些,下面就是实战案例,一起来看一下。
表格大家都十分熟悉,如今的css也使得表格的布局越来越光彩耀人。但是,无论如何,都掩饰不了那些包装下的死板。
那么如何让那些死板的数据 更具有可读性、可用性,能够让我们那些数据在“动”呢?
下面我们使用jquery+ajax 来为表格注入些活力。主要实现的目的就是:将表格的列标题转化为按钮,点击不同的列标题,便按相应的列对数据进行排序。比如学生信息表,我点击“生日”列,这张表便按生日排序将结果呈现在我们面前。使用ajax来调用本页也避免了刷新页面所带来的折磨。
下面我给出最基本的jsp页面
<%@ page language="java" import="java.util.*" pageencoding="iso-8859-1"%> <% string path = request.getcontextpath(); string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/"; %> <!doctype html public "-//w3c//dtd html 4.01 transitional//en"> <html> <head> <base href="<%=basepath%>"> <title>my jsp 'sorttable.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="js/jquery-1.4.4.js"></script> </head> <body> <table class = "sorttable" style="background-color: gray;color: white;"> <thead> <tr > <th></th> <th class="sort-alpha">title</th> <th>author</th> <th>publishdate</th> <th>price</th> </tr> </thead> <tbody> <tr> <td><img src="<%=path %>/images/javascript.jpg" width="40" height="50" alt="javascript" /></td> <td>javascript</td> <td> douglas crockford </td> <td> may 2008</td> <td>$31.02</td> </tr> <tr> <td><img src="<%=path %>/images/ajax.jpg" width="40" height="50" alt="ajax and php:building responsive web applications" /></td> <td>ajax and php:building responsive web applications</td> <td>cristian darie,mihak bucica</td> <td> mar 2006</td> <td>$31.02</td> </tr> <tr> <td><img src="<%=path %>/images/learning.jpg" width="40" height="50" alt="learning mambo" /></td> <td>learning mambo</td> <td>douglas paterson</td> <td> mar 2006</td> <td>$31.02</td> </tr> <tr> <td><img src="<%=path %>/images/think.jpg" width="40" height="50" alt="thinking in java" /></td> <td>thinking in java</td> <td>bruce eckel </td> <td> feb 2006</td> <td>$33.02</td> </tr> <tr> <td><img src="<%=path %>/images/jquery.jpg" width="40" height="50" alt="jquery in action, second edition" /></td> <td>jquery in action, second edition</td> <td>bear bibeault / yehuda katz </td> <td> apr 2010</td> <td>$35.02</td> </tr> </tbody> </table> </body> </html>
第一步:为表格添加奇偶行交替背景
<style type="text/css"> .even{ background-color: #e8a824; } .odd{ background-color:#74411b; } </style>
第二步:按字母排序
实现基于表格的title列进行排序
<thclass="sort-alpha">title</th>
为title定义了一个sort-alpha类
<script type="text/javascript" language="javascript"> $( document ).ready(function(){ var alternaterowcolors = function($table){ $('tbody tr:odd',$table).removeclass('even').addclass('odd'); $('tbody tr:even',$table).removeclass('odd').addclass('even') }; $('table.sorttable').each(function (){ var $table =$(this); alternaterowcolors($table); $('th',$table).each(function(column){ var $header = $(this); if($header.is('.sort-alpha')){ $header.addclass('clickable').hover(function(){ $header.addclass('hover'); },function(){ $header.removeclass('hover'); }).click(function(){ var rows = $table.find('tbody>tr').get(); rows.sort(function(a,b){ var keya =$(a).children('td').eq(column).text().touppercase(); var keyb =$(b).children('td').eq(column).text().touppercase(); if(keya<keyb) return -1; if(keya>keyb) return 1; return 0; }); $.each(rows,function(index,row){ $table.children('tbody').append(row); }); alternaterowcolors($table); }); } }); }); }); </script>
最后
当你点击title时
最终效果:
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
jquery实现表格排序+实时搜索功能
sortelements实现table排序步骤详解
jquery动态操作表格行的方法(附代码)
以上就是jquery+ajax实现表格数据标题排序的详细内容。
其它类似信息

推荐信息