layui+jquery支持IE8的表格分页方法

前端之家收集整理的这篇文章主要介绍了layui+jquery支持IE8的表格分页方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

工具(框架、插件

1、layui-v1.0.9
2、jquery-1.8.3

代码

1、jsp代码(可忽略jsp部分,转成html)

  1. <%@ page language="java" contentType="text/html; charset=utf-8"%>
  2. <%@ include file="/common/include/taglib.jsp"%>
  3. <%
  4. <html>
  5. <head>
  6. <title>test page</title>
  7. <Meta charset="utf-8">
  8. <Meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
  9. <Meta http-equiv="x-ua-compatible" content="ie=8" />
  10. <link rel="stylesheet" href="ad/layui/css/layui.css" rel="external nofollow" >
  11. <style>
  12. .left_buttons{float:left;margin-top:3px;}
  13. .search{float:right;margin-top:3px;}
  14. .dataTable{clear:both;}
  15. th{min-width:90px;text-align:center;}
  16. tfoot{text-align:center;}
  17. #modify{width:18px;padding:0 5 0 5;}
  18. #dlt{width:18px;padding:0 5 0 5;}
  19. </style>
  20. </head>
  21. <body>
  22. <div>
  23. <div class="top">
  24. <div class="left_buttons">
  25. <span id="add" class="layui-btn layui-btn-primary" style="border:none;font-size:16"><i class="layui-icon"></i>button1</span>
  26. <span class="layui-btn layui-btn-primary" style="border:none;font-size:16"><i class="layui-icon"></i>button2</span>
  27. </div>
  28. <div class="search">
  29. <form class="layui-form search-input" action="">
  30. <div class="layui-form-item layui-form-pane">
  31. <label class="layui-form-label"><i class="layui-icon"></i></label>
  32. <div class="layui-input-block" style="width:300px">
  33. <input type="text" name="title" required lay-verify="required" placeholder="请输入主题" autocomplete="off" class="layui-input" />
  34. </div>
  35. </div>
  36. </form>
  37. </div>
  38. </div>
  39. <div class="dataTable">
  40. <div class="表格内容">
  41. <table class="layui-table" lay-skin="line">
  42. <colgroup>
  43. <col width="150">
  44. <col width="200">
  45. <col>
  46. </colgroup>
  47. <thead>
  48. <tr class="table_title">
  49. <th>col1</th>
  50. <th>col2</th>
  51. <th>col3</th>
  52. <th>col4</th>
  53. <th>col5</th>
  54. <th>col6</th>
  55. <th>col7</th>
  56. <th>col8</th>
  57. <th>col9</th>
  58. <th>col10</th>
  59. <th>col11</th>
  60. </tr>
  61. </thead>
  62. <tbody class="dataBody">
  63.  
  64. </tbody>
  65. <tfoot>
  66. <tr>
  67. <td colspan="11">
  68. <span class="water-table-listbtn"></span>
  69. <span class="water-table-page"><span id="pagemsg" class="water-table-pagemsg">当前0/0页</span>
  70. <input type="button" id="fpbtn" value="首页"/>
  71. <input type="button" id="rpbtn" value="上页"/>
  72. <input type="button" id="npbtn" value="下页"/>
  73. <input type="button" id="lpbtn" value="尾页"/>
  74. <span id="pagemsg" class="water-table-pagemsg">跳转<input type="text" id="gpinput" size="3" value="0"/></span>
  75. <input type="button" id="gpbtn" value="跳转"/>
  76. </span>
  77. </td>
  78. </tr>
  79. </tfoot>
  80. </table>
  81. </div>
  82. </div>
  83. </div><!-- 此处是最外围DIV -->
  84. <script src="/bhps/ad/layui/layui.js"></script>
  85. <script src="/js/jquery/jquery-1.8.3.min.js"></script>
  86. <script src="/bhps/ad/js/component.js"></script>
  87.  
  88. <script>
  89. var userId="<%=request.getAttribute("userid")%>";
  90. var page=0;
  91. var pages = 0;
  92. var rows = 8;
  93. </script>
  94. </body>
  95. </html>

2、js代码

  1. $(document).ready(function(){
  2. $("#fpbtn").attr("disabled",true);
  3. $("#rpbtn").attr("disabled",true);
  4. rewriteTable(page,rows,1);
  5.  
  6. });
  7.  
  8. function rewriteTable(page,isReplace){
  9. $.post("ADTasks.ered?reqCode=queryAssignTask",{loginuserid:userId,start: page*rows,limit: rows
  10. },function(result){
  11. if(result.resultCode == 200){
  12. if(isReplace){
  13. $(".dataBody").html("");
  14. }
  15. pages = changeShowedPage(page+1,result.total);
  16. buttonControl(page,pages);
  17. //alert(result.data.length);
  18. for(var i=0; i< result.data.length; i++){
  19. $(".dataBody").append("<tr>"+
  20. "<th>"+isNotNUll(result.data[i].1)+"</th>"+
  21. "<th>"+isNotNUll(result.data[i].2)+"</th>"+
  22. "<th>"+isNotNUll(result.data[i].3)+"</th>"+
  23. "<th>"+isNotNUll(result.data[i].4)+"</th>"+
  24. "<th>"+isNotNUll(result.data[i].5)+"</th>"+
  25. "<th>"+isNotNUll(result.data[i].6)+"</th>"+
  26. "<th>"+isNotNUll(result.data[i].7)+"</th>"+
  27. "<th>"+isNotNUll(result.data[i].8)+"</th>"+
  28. "<th>"+isNotNUll(result.data[i].9)+"</th>"+
  29. "<th>"+isNotNUll(result.data[i].10)+"</th>"+
  30. "<th>"+
  31. "<span id=\"modify\" class=\"layui-btn layui-btn-primary\" style=\"border:none;font-size:16\"><i class=\"layui-icon\"></i></span>"+
  32. "<span id=\"dlt\" class=\"layui-btn layui-btn-primary\" style=\"border:none;font-size:16\"><i class=\"layui-icon\" onClick=\"deleteTask("+result.data[i].id+",\'"+result.data[i].theme+"\'"+");\"></i></span>"+
  33. "</th>"+
  34. "</tr>");
  35. //alert("hello");
  36. //console.log(result["data"][i]);
  37. //var o = result["data"][i];
  38. // $(".dataBody").append("<tr>");
  39. // $(".dataBody").append("<th>"+isNotNUll(result.data[i].1)+"</th>");
  40. // $(".dataBody").append("<th>"+isNotNUll(result.data[i].2)+"</th>");
  41. // $(".dataBody").append("<th>"+isNotNUll(result.data[i].3)+"</th>");
  42. // $(".dataBody").append("<th>"+isNotNUll(result.data[i].4)+"</th>");
  43. // $(".dataBody").append("<th>"+isNotNUll(result.data[i].5)+"</th>");
  44. // $(".dataBody").append("<th>"+isNotNUll(result.data[i].6)+"</th>");
  45. // $(".dataBody").append("<th>"+isNotNUll(result.data[i].7)+"</th>");
  46. // $(".dataBody").append("<th>"+isNotNUll(result.data[i].8)+"</th>");
  47. // $(".dataBody").append("<th>"+isNotNUll(result.data[i].9)+"</th>");
  48. // $(".dataBody").append("<th>"+isNotNUll(result.data[i].10)+"</th>");
  49. // $(".dataBody").append("<th>"+
  50. // "<span id=\"modify\" class=\"layui-btn layui-btn-primary\" style=\"border:none;font-size:16\"><i class=\"layui-icon\"></i></span>"+
  51. // "<span id=\"dlt\" class=\"layui-btn layui-btn-primary\" style=\"border:none;font-size:16\"><i class=\"layui-icon\" onClick=\"deleteTask("+result.data[i].id+","+result.data[i].1+");\"></i></span>"+
  52. // "</th>");
  53. // $(".dataBody").append("</tr>");
  54. }
  55. }else{
  56. alert("获取数据失败.."+result.message);
  57. }
  58. },"json"
  59. );
  60. }
  61.  
  62. function isNotNUll(param){
  63. if(param){
  64. return param;
  65. }else{
  66. return "";
  67. }
  68. }
  69.  
  70. //////////////////////////////////////分页function/////////////////////////////////
  71. //fpbtn 首页//rpbtn 上页//npbtn 下页//lpbtn 尾页//gpbtn 跳转
  72. $("#npbtn").click(function(){
  73. page = page + 1;
  74. rewriteTable(page,1);
  75. }
  76. );
  77.  
  78. $("#rpbtn").click(function(){
  79. page = page - 1;
  80. rewriteTable(page,1);
  81. $("#npbtn").removeAttr("disabled");
  82.  
  83. }
  84. );
  85.  
  86. $("#fpbtn").click(function(){
  87. page = 0;
  88. rewriteTable(page,1);
  89.  
  90. }
  91. );
  92.  
  93. $("#gpbtn").click(function(){
  94. var jumpPage = $("#gpinput").val();
  95. if(jumpPage<1||jumpPage>pages){
  96. alert("请输入符合范围的页码");
  97. return;
  98. }
  99. if(jumpPage - 1 == page){
  100. alert("当前已经是第"+jumpPage+"页");
  101. return;
  102. }
  103. page = jumpPage - 1;
  104. rewriteTable(page,1);
  105.  
  106. }
  107. );
  108.  
  109. $("#lpbtn").click(function(){
  110. page = pages - 1;
  111. rewriteTable(pages-1,1);
  112.  
  113. }
  114. );
  1. function buttonControl(currentP,totalP){ //翻页按钮的可用与禁用
  2. if(totalP == 1){
  3. $("#rpbtn").attr("disabled",true);
  4. $("#fpbtn").attr("disabled",true);
  5. $("#npbtn").attr("disabled",true);
  6. $("#lpbtn").attr("disabled",true);
  7. return;
  8. }
  9. if(currentP <= 0){
  10. $("#rpbtn").attr("disabled",true);
  11. $("#npbtn").removeAttr("disabled");
  12. $("#lpbtn").removeAttr("disabled");
  13. }
  14. if(currentP >= totalP-1){
  15. $("#npbtn").attr("disabled",true);
  16. $("#fpbtn").removeAttr("disabled");
  17. $("#rpbtn").removeAttr("disabled");
  18. }
  19. if(currentP>0 && currentP<totalP-1){
  20. $("#npbtn").removeAttr("disabled");
  21. $("#lpbtn").removeAttr("disabled");
  22. $("#fpbtn").removeAttr("disabled");
  23. $("#rpbtn").removeAttr("disabled");
  24. }
  25. }
  26.  
  27. //改变页码
  28. function changeShowedPage(currentPage,total){
  29. var totalPage;
  30. if(total%rows ==0 ){
  31. totalPage = total/rows;
  32. }else{
  33. totalPage = parseInt(total/rows)+1;
  34. }
  35. $("#pagemsg").html("当前" + currentPage + "/" +totalPage + "页,共"+total+"条记录");
  36. return totalPage;
  37. }
  38. //////////////////////////////////////分页function结束/////////////////////////////////
  39.  
  40. function deleteTask(id,theme){
  41. // alert(id+" "+theme);
  42. layui.use('layer',function(){
  43. var layer = layui.layer;
  44. layer.open({
  45. title:'确认',offset:'100px',content:'确定删除'+theme+'?',btn: ['确定','取消'] //按钮,yes:function(){
  46. //console.log("12345");
  47. $.post("ADTasks.ered?reqCode=deleteTask",{ loginuserid:userId,id:id
  48. },function(result){
  49. alert(result.msg);
  50. },"json"
  51. )
  52. page = 0;
  53. rewriteTable(page,1);
  54. layer.closeAll();
  55. }
  56. });
  57. });
  58. }

注意事项

1、layer官网称layer支持IE8,但我无法调试成功,因此还是使用了layui中的弹窗方式。在IE8下,弹窗可能出现位置的偏移,需要在<head>中添加如下语句<Meta http-equiv="x-ua-compatible" content="ie=8" />

2、jquery在IE8中需使用1.9.0以下的版本,而layui下需要1.8.0.以上的版本,所以jquery只能使用1.8.x

3、注意js中标红的部分,在IE8下,$(element).append()操作需要在一个append下写全一段代码,即IE8不支持红色代码的形式,而红色代码上面那种形式就可以。(FF、chrome支持红色代码的写法)

以上这篇layui+jquery支持IE8的表格分页方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

猜你在找的jQuery相关文章