天 黑 了 2021-09-30 21:34 采纳率: 20%
浏览 45
已结题

分页怎么保留checkbox选中的值


<script type="text/javascript">
        checkedIds="";//翻页保存选中的id

        function changeIds(){
            var oneches=document.getElementsByClassName("dfinput1");
            console.log(oneches)
            for(var i=0;i<oneches.length;i++){
                if(oneches[i].checked==true){
                    //避免重复累计id (不含该id时进行累加)
                    if(checkedIds.indexOf(oneches[i].value)==-1){
                        checkedIds=checkedIds+oneches[i].value+",";
                    }
                }
                if(oneches[i].checked==false){
                    //取消复选框时 含有该id时将id从全局变量中去除
                    if(checkedIds.indexOf(oneches[i].value)!=-1){
                        checkedIds=checkedIds.replace((oneches[i].value+","),"");
                    }
                }
            }
            console.log(checkedIds)
        }

        function getChecked(){
            var oneches=document.getElementsByClassName("dfinput1");
            for(var i=0;i<oneches.length;i++){
                //全局变量中含有id,则该复选框选中
                if(checkedIds.indexOf(oneches[i].value)!=-1){
                    oneches[i].checked=true;
                }
            }
        }

    </script>

<thead>
                <tr>
                    <th>课程编号</th>
                    <th>课程名称</th>
                    <th><input type="checkbox" class="dfinput-all">全选</th>
                </tr>
                </thead>
                <tbody>
                <s:iterator value="pageResult1.data">
                    <tr>
                        <td>${curriculumId}</td>
                        <td>${courseName}</td>
                        <td><input name="curriculumId" id="curriculumId_${curriculumId}" type="checkbox" class="dfinput1" value="${curriculumId}" onclick="changeIds()"></td>
                    </tr>
                </s:iterator>
                </tbody>


<div class="pagin">
        <div class="message"><i class="blue">${pageResult1.total}</i>条记录     <i class="blue">${pageResult1.totalPage}</i>页,     当前显示第&nbsp;<i class="blue">${pageResult1.page}</i></div>
        <ul class="paginList">
            <c:choose>
                <c:when test="${pageResult1.isFirst==true}"><li class="paginItem current"><a href="javascript:;">首页</a></li></c:when>
                <c:otherwise>
                    <li class="paginItem"><a href="javascript:first()" target="rightFrame" onclick="getChecked()">首页&nbsp;</a></li>
                </c:otherwise>
            </c:choose>
            <c:choose>
                <c:when test="${pageResult1.isFirst==true}"><li class="paginItem current"><a href="javascript:;">上一页</a></li></c:when>
                <c:otherwise>
                    <li class="paginItem"><a href="javascript:previous()" target="rightFrame" onclick="getChecked()">上一页&nbsp;</a></li>
                </c:otherwise>
            </c:choose>
            <c:choose>
                <c:when test="${pageResult1.hasNext==true}">
                    <li class="paginItem"><a href="javascript:next()" target="rightFrame" onclick="getChecked()">下一页&nbsp;</a></li>
                </c:when>
                <c:otherwise><li class="paginItem current"><a href="javascript:;">下一页</a></li></c:otherwise>
            </c:choose>
            <c:choose>
                <c:when test="${pageResult1.isLast==true}"><li class="paginItem current"><a href="javascript:;">尾页</a></li></c:when>
                <c:otherwise>
                    <li class="paginItem"><a href="javascript:last()" target="rightFrame" onclick="getChecked()">尾页&nbsp;</a></li>
                </c:otherwise>
            </c:choose>
            <li class="paginItem-page">
                跳转到:&nbsp;
                <input name="textfield" type="text" size="4" class="page-input" id="textfield" onchange="change()" onclick="getChecked()"/>&nbsp;<input  type="hidden" id="totalPage" value="${pageResult1.totalPage}"/>
            </li>
        </ul>

哪里出了问题,第一页勾选,到了第二页,第一页的值就没了,怎么解决,帮帮忙吧,十分感谢

  • 写回答

1条回答 默认 最新

  • weixin_42346558 2021-10-01 23:03
    关注

    设计上checkedIds应该采用数组的,不然如果字符串是‘11’,然后你选择了ID为1,那你的indexOf判断结果不是就错了?然后并不应该每次都从页面获取选中的id然后复制给到checkedIds,而是每个checkbox都有自己的事件,在事件处理checkedIds

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 nslt的可用模型,或者其他可以进行推理的现有模型
  • ¥15 arduino上连sim900a实现连接mqtt服务器
  • ¥15 vncviewer7.0安装后如何正确注册License许可证,激活使用
  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并2
  • ¥66 关于人体营养与饮食规划的线性规划模型
  • ¥15 基于深度学习的快递面单识别系统
  • ¥15 Multisim仿真设计地铁到站提醒电路
  • ¥15 怎么用一个500W电源给5台60W的电脑供电
  • ¥15 请推荐一个轻量级规则引擎,配合流程引擎使用,规则引擎负责判断出符合规则的流程引擎模板id
  • ¥15 Excel表只有年月怎么计算年龄