情况如下
      要求查询出来的数据表格分页,要命的是表格中有多选框,现在我解决不了的就是多选框的处理,比如说,分页每页5条记录,用户在查询出的第一页中选中了2个多选按钮,再第三页选了4个多选按钮,最后又到第一页取消了那2个按钮,最后点个提交应该只提交第三也的那4条记录,我现在实现不了,分页只有当前页的数据,点击了下一页或上一页当前页的数据就没了,不知道如何做,请赐教 。

解决方案 »

  1.   

    你可以把 各个分页的内容 分别存在不同的div里。点击分页的时候,显示 那个分页内容div 隐藏其他分页内容div这样各个分页内容就互不相影响了。
      

  2.   

    用一个二维数组吧,长度和总页数相同
    var arr = [['0','0','0','0','0','0'],['0','0','0','0','0','0'],['0','0','0','0','0','0']];
    选中时 就把相应那一项置为1,提交时对数组遍历一下就行了,这个方法似乎很笨,呵呵!
      

  3.   

    这个事你要的效果吧,JavaScript分页<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>表格分页显示</title></head><body>
    <div id="divTable">
    <table  border="1" cellpadding="0" cellspacing="0" id="tab1">
    <tbody><tr>
    <td width="73">&nbsp;状态</td>
    <td width="73">&nbsp;序号</td>
    <td width="223">&nbsp;标题</td>
    <td width=80>&nbsp;作者</td>
    <td width=100>&nbsp;发表时间</td></tr><tr height="20">
    <td width="73"><input type="checkbox" name="status"></td>
    <td width="73">00</td>
    <td width="223" align="left"><a href="###">00</a></td>
    <td width=80>00</td>
    <td width=100>00</td></tr><tr  height="20">
    <td width="73"><input type="checkbox" name="status"></td>
    <td width="73">11</td>
    <td width="223" align="left"><a href="###">11</a></td>
    <td width=80>11</td>
    <td width=100>11</td></tr><tr  height="20">
    <td width="73"><input type="checkbox" name="status"></td>
    <td width="73">22</td>
    <td width="223" align="left"><a href="###">22</a></td>
    <td width=80>22</td>
    <td width=100>22</td></tr><tr  height="20">
    <td width="73"><input type="checkbox" name="status"></td>
    <td width="73">33</td>
    <td width="223" align="left"><a href="###">33</a></td>
    <td width=80>33</td>
    <td width=100>33</td></tr><tr  height="20">
    <td width="73"><input type="checkbox" name="status"></td>
    <td width="73">44</td>
    <td width="223" align="left"><a href="###">44</a></td>
    <td width=80>44</td>
    <td width=100>44</td></tr><tr  height="20">
    <td width="73"><input type="checkbox" name="status"></td>
    <td width="73">55</td>
    <td width="223" align="left"><a href="###">55</a></td>
    <td width=80>55</td>
    <td width=100>55</td></tr><tr  height="20">
    <td width="73"><input type="checkbox" name="status"></td>
    <td width="73">66</td>
    <td width="223" align="left"><a href="###">66</a></td>
    <td width=80>66</td>
    <td width=100>66</td></tr><tr  height="20">
    <td width="73"><input type="checkbox" name="status"></td>
    <td width="73">77</td>
    <td width="223" align="left"><a href="###">77</a></td>
    <td width=80>77</td>
    <td width=100>77</td></tr><tr  height="20">
    <td width="73"><input type="checkbox" name="status"></td>
    <td width="73">88</td>
    <td width="223" align="left"><a href="###">88</a></td>
    <td width=80>88</td>
    <td width=100>88</td></tr><tr  height="20">
    <td width="73"><input type="checkbox" name="status"></td>
    <td width="73">99</td>
    <td width="223" align="left"><a href="###">99</a></td>
    <td width=80>99</td>
    <td width=100>99</td></tr>
    </table>
    </div>
    <br>
    <input id="first" type=button value="第一页" onclick="firstOrLast(0)">
    <input id="back" type=button value="上一页" onclick="N(-1)">
    <input id="next" type=button value="下一页" onclick="N(1)">
    <input id="last" type=button value="最后一页" onclick="firstOrLast(1)">
    <script language="javascript">
    <!--
    var pageSize=4,currentPageNum=1,totlePageNum
    var obj,totleRows,totleCols
    var rowHeigth = 20;
    var obj=document.getElementById('tab1').rows;
    onload=function(){
        
        totleRows=obj.length;
    totleCols=document.getElementById('tab1').rows(0).cells.length; 
        totlePageNum=Math.ceil((totleRows-1)/pageSize)
    //如果某一页行数小于pageSize,则增加空行
    if(totleRows==0 || (totleRows-1)%pageSize != 0){
    var tempCols
    if(totleRows==0)
    tempCols = totleCols;
    else tempCols = pageSize-(totleRows-1)%pageSize;
    for(i=0;i<tempCols;i++){
    var newBlankRow = document.getElementById('tab1').insertRow();
    var point = newBlankRow.rowIndex;
    for (m=0; m < totleCols; m++) {
                    obj[point].insertCell();
                    obj[point].cells(m).innerHTML = "&nbsp";
    }
    }
    totleRows = document.getElementById('tab1').rows.length;
    }    N(0)
    }
    function resetStyle(){
        for (var i=1;i<totleRows;i++)obj[i].style.display="none"
    }
    function N(k){
        if (k>0 && currentPageNum>=totlePageNum ||k<0 && currentPageNum<=1)return;
        currentPageNum+=k;
        resetStyle();
        toPage(currentPageNum);
    filter(currentPageNum);
    }
    function firstOrLast(flag){
    if(flag==0)
    currentPageNum = 1;
    else if(flag==1)
    currentPageNum = totlePageNum;
    else
    return ;
    resetStyle();
    toPage(currentPageNum);
    filter(currentPageNum);}
    function toPage(currentPageNum){
     for (var i=(currentPageNum-1)*pageSize+1;i<=currentPageNum*pageSize;i++)
    obj[i].style.display="";
    }function filter(currentPageNum){
    //如果是第一页,则“上一页”不可用
    if(currentPageNum-1<1) {
    document.getElementById("back").disabled=true;
    document.getElementById("first").disabled=true;
    }
    else{
    document.getElementById("back").disabled=false;
    document.getElementById("first").disabled=false;
    }
    //如果是最后一页,则"下一页"不可用
    if(currentPageNum+1>totlePageNum ) {
    document.getElementById("next").disabled=true;
    document.getElementById("last").disabled=true;
    }
    else{
    document.getElementById("next").disabled=false;
    document.getElementById("last").disabled=false;
    }
    }
    //-->
    </script></body></html>
      

  4.   

    用控制css样式的margin-top实现分页可以解决你的问题
      

  5.   

    我相信每条记录都有一个唯一的ID
    用一个隐藏域来记录这些选中的ID
    第一页选中1,3第二页选中5,7
    那么隐藏域的值就是1,3,5,7
    回到第一页取消3,隐藏域的值变成1,5,7
    实现起来不难的
      

  6.   

    用array.push(),在点下一页的时候将当前页面被选中的内容加入到array,提交时,传array