首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

杂,瞧的懂就见鬼了

2012-11-05 
杂,看的懂就见鬼了/* * 分页函数 * page 请求的页面 * rows 每页记录数 * queryStr 被查找的字符串 * colS

杂,看的懂就见鬼了

/* * 分页函数 * page 请求的页面 * rows 每页记录数 * queryStr 被查找的字符串 * colStr 被查找的字段,为空则查找所有的字段 * who 分页的对象,就是struts-config.xml 配置的path(无'/') * return tbody里的数据,以及对这些数据操作的功能,最后一定要加上(return;),否则会重复的调用getDate()方法 */function getDate(page,rows,queryStr,colStr,who,w,h){if(who=="" || who=="undefined"){alert("请在参数中添加要查找的对象名称");return ;}//请求数据的地址var url="../"+who+".do?page="+page+"&rows="+rows;if(queryStr!="" || queryStr!="undefined")url=url+"&queryStr="+queryStr;if(colStr!="" || colStr!="undefined")url=url+"&colStr="+colStr;//将地址统一转成ISO,在服务端在统一转回UTF-8(汉字在不同浏览器中编码不同,若不统一编码地址,则在服务器无法解析多种编码同时共存的情况)url=encodeURI(url);//ajax前,使背景变灰等待,阻止用户进一步操作$(".mask").css("display","block").css("width","102%").css("height","100%");$(".mask-msg").css("display","block").css("top","49%").css("left","44%");$.ajax({    url: url,    type: 'POST',    data: null,   timeout: 10000,    error: function(){        alert('加载数据出错~');        $("#pageNum").val(0);    $("#fromNum").html(0);$("#toNum").html(0);    $("#totalNum").html(0);    $("#totalPage").html(0);$(".mask").css("display","none");$(".mask-msg").css("display","none");    },    success: function(date){var objs=eval(date);total=objs.total;if(objs.total==0) {$("#tDate tr").remove();$("#tDate").append("<tr><td colspan=7>没有记录~</td></tr>");$("#pageNum").val(0);    $("#fromNum").html(0);$("#toNum").html(0);    $("#totalNum").html(0);    $("#totalPage").html(0);$(".mask").css("display","none");$(".mask-msg").css("display","none");return ;}     $("#tDate tr").remove();     //表的第一列显示行号     var lineNum=1;     //表的第一列显示背景色为标题栏颜色     var lineCSS=0;          //得到thead th 中定义的所有tName,用户获取json数据,为obj对象的下标     var tName=gettNames();     for(var i in objs.rows){     var obj=objs.rows[i];     //存储每行的信息     var outPut="";     //隔行换色     if(lineNum%2==0)     outPut+="<tr class=alt><td>"+lineNum+"</td>"     else     outPut+="<tr><td>"+lineNum+"</td>"     //由tName作为下标获取obj中的json数据存储到各数据列中     for(var t=0;t<tName.length;t=t+1){     outPut+="<td>"+obj[tName[t]]+"</td>";     }     //定义操作,此处可能对函数的兼容性有破坏性     outPut+="<td><div align=center><a href=# onclick=openWin('../"+who+".do?command=updateDetail&num="+obj[tName[0]]+"','updateReport',"+w+","+h+");>查看</a>"+"&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<a href=# onclick=openWin('../"+who+".do?command=updateInput&num="+obj[tName[0]]+"','update"+who+"',"+w+","+h+");>修改</a>"+"&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<a href=# onclick=del('../"+who+".do?command=del"+who+"&num="+obj[tName[0]]+"',"+page+");>删除</a></div></td></tr>";     $("#tDate").append(outPut);          //首列标题色     $("tbody tr td:eq("+lineCSS+")").css("background","#E8ECE8").css("padding","0px").css("text-align","center");     //行数自曾     lineNum=lineNum+1;     //跳到下一行的首列     lineCSS=lineCSS+tName.length+2;     }          //补充填满表格     var keepOn=lineNum;     if(keepOn<=rows){     for(var i=0;i<=rows-keepOn;i=i+1){     //存储每行的信息     var outPut="";     //隔行换色     if(lineNum%2==0)     outPut+="<tr class=alt><td>"+lineNum+"</td>";     else     outPut+="<tr><td>"+lineNum+"</td>";     for(var t=0;t<tName.length+1;t=t+1)     outPut+="<td></td>";     outPut+="</tr>";     $("#tDate").append(outPut);     $("tbody tr td:eq("+lineCSS+")").css("background","#E8ECE8").css("padding","0px").css("text-align","center");     //行数自曾     lineNum=lineNum+1;     //跳到下一行的首列     lineCSS=lineCSS+tName.length+2;     }     }          var preClickIndex=-1;    $("#tDate tr:odd").mouseover(function(){$(this).removeClass("alt");if(!$(this).hasClass("beClick"))$(this).addClass("over");}).mouseout(function(){$(this).removeClass("over");if(!$(this).hasClass("beClick"))$(this).addClass("alt");});$("#tDate tr:even").mouseover(function(){if(!$(this).hasClass("beClick"))$(this).addClass("over");}).mouseout(function(){$(this).removeClass("over");});$("#tDate > tr").click(function(){if(preClickIndex!=-1){$("#tDate > tr:eq("+preClickIndex+")").removeClass("beClick");if(preClickIndex%2==1)$("#tDate > tr:eq("+preClickIndex+")").addClass("alt");}$(this).addClass("beClick");//index()方法,返回当前子元素所在位置preClickIndex=$( "#tDate tr" ).index($(this)[0]);});//总页数if(total%rows==0)totalPage=parseInt(total/rows);elsetotalPage=parseInt(total/rows)+1;//设置index.jsp页面相应地点的值$("#pageNum").val(page);    $("#fromNum").html((page-1)*rows);$("#toNum").html(page*rows);    $("#totalNum").html(total);    $("#totalPage").html(totalPage);$(".mask").css("display","none");$(".mask-msg").css("display","none");}});//(重要!)否则当点击下一页或上一页按钮时,页面会级数的执行,由1-2-4-8return ;}//响应用户请求函数,不放到getDate()中主要是因为放入则出错,具体原因和表现,忘了function opt(page,rows,queryStr,colStr,who,w,h){//设置跳转到目的页$("#pageNum").keyup(function(event){var keycode=event.which;if(keycode==13){setPage=parseInt($(this).val());if(setPage==page)return ;if(setPage>totalPage)page=totalPage;elsepage=setPage;getDate(page,rows,queryStr,colStr,who,w,h);}});$("#reloadPage").click(function(){ getDate(page,rows,queryStr,colStr,who,w,h);});$("#nextPage").click(function(){if(page==totalPage)return ;page=page+1;getDate(page,rows,queryStr,colStr,who,w,h);});$("#prevPage").click(function(){if(page==1)return ;page=page-1;getDate(page,rows,queryStr,colStr,who,w,h);});$("#lastPage").click(function(){if(total%rows==0)totalPage=parseInt(total/rows);elsetotalPage=parseInt(total/rows)+1;if(page==totalPage)return ;page=totalPage;getDate(page,rows,queryStr,colStr,who,w,h);});//添加元素完成后,跳转到最后一页,与$("#lastPage").click()区别是当在最后一页添加记录时仍然会刷新页面$("#lastPage").dblclick(function(){if(total%rows==0)totalPage=parseInt(total/rows);elsetotalPage=parseInt(total/rows)+1;page=totalPage;queryStr="";colStr="";getDate(page,rows,queryStr,colStr,who,w,h);});$("#firstPage").click(function(){if(page==1)return ;page=1;getDate(page,rows,queryStr,colStr,who,w,h);});$("#setRows").change(function(){rows=parseInt($(this).val());page=1;$.cookie('pageSize',null,{ path: '/' });var date = new Date();          date.setTime(date.getTime() + (1 * 24 * 60 * 60 * 1000));$.cookie('pageSize',rows,{ path: '/', expires: date });getDate(page,rows,queryStr,colStr,who,w,h);});$("#SIMsearch").click(function(){var QueryStr=$("#SearchStr").val();queryStr=$.trim(QueryStr);colStr=$("#listColumn").val();page=1;getDate(page,rows,queryStr,colStr,who,w,h);});$("#SearchStr").keyup(function(event){var keycode=event.which;if(keycode==13){$("#SIMsearch").click();}});$("#addBut").click(function(){openWin("/test2/"+who+"/add.jsp","add"+who,w,h);});getDate(page,rows,queryStr,colStr,who,w,h);}//日期验证function validateCNDate( strValue ) { var objRegExp = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/ if(!objRegExp.test(strValue)) return false; else{ var arrayDate = strValue.split(RegExp.$1); var intDay = parseInt(arrayDate[2],10); var intYear = parseInt(arrayDate[0],10); var intMonth = parseInt(arrayDate[1],10); if(intMonth > 12 || intMonth < 1) { return false; } var arrayLookup = { '1' : 31,'3' : 31, '4' : 30,'5' : 31,'6' : 30,'7' : 31, '8' : 31,'9' : 30,'10' : 31,'11' : 30,'12' : 31} if(arrayLookup[parseInt(arrayDate[1])] != null) { if(intDay <= arrayLookup[parseInt(arrayDate[1])] && intDay != 0) return true; } if (intMonth-2 ==0) { var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0)); if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0) return true; } } return false; }function checkDouble(obj){ var v=obj.val();    var value=$.trim(v); if(v=="" || v==null || isNaN(v)){ obj.val(""); obj.get(0).select(); alert("请输入数字"); return false;}} function openWin(url,name,w,h,s){sb ="1";l = (screen.width - w)/2;t = (screen.height - h)/2;sFeatures = "left="+ l +",top="+ t +",height="+ h +",width="+w+ ",center=1,scrollbars=" + sb + ",status=0,directories=0,channelmode=0";//将地址都转成IOS编码,反正传递参数时含有汉字时,不同的浏览器会用不同的编码传递,导致服务端出错var url=encodeURI(url);openwin = window.open(url , name , sFeatures );if (!openwin.opener)openwin.opener = self;openwin.focus();return openwin;}function del(url,page){var c = "你确认要删除记录吗?";if(confirm(c)){var url=encodeURI(url);$.post(url,null,function(data){total=total-1;//总页数if(total%rows==0)totalPage=parseInt(total/rows);elsetotalPage=parseInt(total/rows)+1;if(page>totalPage)$("#lastPage").click();else$("#reloadPage").click();});}}function gettNames(){var size=$("#tt thead th").size();var tNames=new Array;for(var i=1;i<size-1;i=i+1)tNames[i-1]=$("#tt thead th:eq("+i+")").attr("tName")return tNames;}function sort(index,who,w,h){//一行总共有多少列var tdNums=$("#tDate tr:first").children().size();//总共多少行,包括空行var rows=$("#tDate").children().size();//存储每行实际数据(砍头去尾)//保存遍历每行的数据值var allDate=new Array();//非空行数var realLength=0;//取得所有的数据已数组的形式保存到allDate中,取得的数据与上面ajax传输过来的内容一样for(var i=0;i<rows;i=i+1){var trDate=new Array(tdNums-2);for(var j=1;j<tdNums-1;j=j+1){//去掉第一行:序号和最后一行:操作。trDate[j-1]=$("#tDate tr:eq("+i+") td:eq("+j+")").html();}//为空行则不添加,判断标准,第一行,也就是num字段为空,因为num为主键,不能为空,所以以后的应用就是判断主键列是否为空if($("#tDate tr:eq("+i+") td:eq(1)").html()!=null && $("#tDate tr:eq("+i+") td:eq(1)").html()!=""){//替换点击要排序的列与第一列的数据swap(trDate,0,index);//保存替换后的数据allDate[i]=trDate;realLength=realLength+1;}}//排序allDate.sort();var FinalDate=new Array(realLength);//把排序后的数组中的每行数据中已对换的数据对换回来。for(var i=0;i<realLength;i=i+1){var getTrDate=allDate[i];swap(getTrDate,index,0);FinalDate[i]=getTrDate;}//为del函数要传递的参数,使删除完后跳回原页var page=$("#pageNum").val();$("#tDate tr").remove();//表的第一列显示行号    var lineNum=1;    //表的第一列显示背景色为标题栏颜色    var lineCSS=0;         for(var i in FinalDate){     var obj=FinalDate[i];     //存储每行的信息     var outPut="";     //隔行换色     if(lineNum%2==0)     outPut+="<tr class=alt><td>"+lineNum+"</td>"     else     outPut+="<tr><td>"+lineNum+"</td>"     //由tName作为下标获取obj中的json数据存储到各数据列中     for(var t=0;t<tdNums-2;t=t+1){     outPut+="<td>"+obj[t]+"</td>";     }     //定义操作,此处可能对函数的兼容性有破坏性     outPut+="<td><div align=center><a href=# onclick=openWin('../"+who+".do?command=updateDetail&num="+obj[0]+"','updateReport',"+w+","+h+");>查看</a>"     +"&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<a href=# onclick=openWin('../"+who+".do?command=updateInput&num="+obj[0]+"','update"+who+"',"+w+","+h+");>修改</a>"+"&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<a href=# onclick=del('../"+who+".do?command=del"+who+"&num="+obj[0]+"',"+page+");>删除</a></div></td></tr>";     $("#tDate").append(outPut);          //首列标题色     $("tbody tr td:eq("+lineCSS+")").css("background","#E8ECE8").css("padding","0px").css("text-align","center");     //行数自曾     lineNum=lineNum+1;     //跳到下一行的首列     lineCSS=lineCSS+tdNums;     }          var keepOn=realLength;     if(keepOn<rows){     for(var i=0;i<rows-keepOn;i=i+1){     //存储每行的信息     var outPut="";     //隔行换色     if(lineNum%2==0)     outPut+="<tr class=alt><td>"+lineNum+"</td>";     else     outPut+="<tr><td>"+lineNum+"</td>";     for(var t=0;t<tdNums-1;t=t+1)     outPut+="<td></td>";     outPut+="</tr>";     $("#tDate").append(outPut);     $("tbody tr td:eq("+lineCSS+")").css("background","#E8ECE8").css("padding","0px").css("text-align","center");     //行数自曾     lineNum=lineNum+1;     //跳到下一行的首列     lineCSS=lineCSS+tdNums;     }     }          var preClickIndex=-1;    $("#tDate tr:odd").mouseover(function(){$(this).removeClass("alt");if(!$(this).hasClass("beClick"))$(this).addClass("over");}).mouseout(function(){$(this).removeClass("over");if(!$(this).hasClass("beClick"))$(this).addClass("alt");});$("#tDate tr:even").mouseover(function(){if(!$(this).hasClass("beClick"))$(this).addClass("over");}).mouseout(function(){$(this).removeClass("over");});$("#tDate > tr").click(function(){if(preClickIndex!=-1){$("#tDate > tr:eq("+preClickIndex+")").removeClass("beClick");if(preClickIndex%2==1)$("#tDate > tr:eq("+preClickIndex+")").addClass("alt");}$(this).addClass("beClick");//index()方法,返回当前子元素所在位置preClickIndex=$( "#tDate tr" ).index($(this)[0]);});trDate=null;allDate=null;FinalDate=null;return ;}function swap(arr,i,j){var temp="";temp=arr[i];arr[i]=arr[j];arr[j]=temp;}
?

热点排行
Bad Request.