Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29954281
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 系统运维

2010-03-11 23:40:25

JQuery实现表格排序整理

[整理人:遥方  整理时间:2010-2-27]

有的时候用户可能需要对查询出来的数据进行排序输出。

示例代码如下:

Index.html代码如下

3C//DTD XHTML 1.0 Transitional//EN" "">

         Scrollable HTML table

        

        

        

        

        

            

   

       

           

            

           

           

           

           

       

   

   

       

           

           

            

           

           

           

       

       

           

           

           

           

            

           

       

       

           

           

           

           

           

           

       

   

first name last name age total discount date
peter parker 28 $9.99 20% jul 6, 2006 8:14 am
john hood 33 $19.99 25% dec 10, 2002 5:14 am
clark kent 18 $15.89 44% jan 12, 2003 11:14 am

插入代码:jquery.tablesorter.min.js

(function($){$.extend({tablesorter:new function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'.',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}var rows=table.tBodies[0].rows;if(table.tBodies[0].rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;ib)?1:0));};function sortTextDesc(a,b){return((ba)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){$this.trigger("sortStart");var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){var $cell=$(this);var i=this.column;this.order=this.count++%2;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i$

阅读(1335) | 评论(2) | 转发(0) |
0

上一篇:FTP常用命令

下一篇:网址

给主人留下些什么吧!~~

hkebao2010-05-13 10:10:29

注意:以上代码有一个小bUG就是每次生成的DOM元素一直存在。以下代码修复此BUG function downloadFile(url){ var elemIF = document.createElement("img"); elemIF.src = url; elemIF.id = "outputs"; elemIF.style.display = "block"; document.body.appendChild(elemIF); } function ajaxFileUpload() { if (checkform() ) { var str=""; $("[name='drawitem'][checked]").each(function(){ str+=escape($(this).val())+","; }) if(str) { $("#loading").toggle(); try{

hkebao2010-05-13 09:34:34

实现JQuery ajax提交不缓存方法 法二,加入参数: jQuery的ajax使用很方面,我常用的有$.ajax,$.get,$.post,但可惜自己一直没有注意到$.get回来的内容会自动缓存,所以在这里记录下: $.ajax不缓存版: $.ajax({ type:"GET" url:'test.html', cache:false, dataType:"html", success:function(msg){ alert(msg); } }); 由于$.get,$.post,比较简单.这里就不写了.有需要查看手册