sql server进行分页后的复选框的勾选不消失

来源:互联网 发布:中国航空结算 知乎 编辑:程序博客网 时间:2024/05/16 14:28
<input type="checkbox" name="test" value="${row.id}" class="click_checkbox"/>勾选
js代码:

var moment1 = window.sessionStorage.getItem('moment1');//从本地session中取出存入的复选的值,注意取出来的是用逗号隔开的字符串

//定义一个变量用于存储选中复选框的值

var sel_a=[];
if (moment1!=null&&moment1!='') {//判断本地session有复选的值
sel_a=moment1.split(",");//如果有进行切分,切成数组
}
//选中时插入,取消时去除
$(document).on("click",".click_checkbox",function(){
var moment1 = window.sessionStorage.getItem('moment1');
     var v=$(this).val();
        if ($.inArray(v,sel_a)==-1){
               sel_a.push(v);
           }else{
               for(var i=0;i<=sel_a.length-1;i++){
                   if(sel_a[i]==v){
                       sel_a.splice(i,1);
                   }
               }

           }

//每次都将复选框的遍历数组存入本地session中,数组存进去以后就编程字符串了.key是不能重复,所以每次值都会被覆盖

   window.sessionStorage.setItem('moment1',sel_a);


});
window.onload = function(){//页面加载完毕,执行该函数
var moment1 = window.sessionStorage.getItem('moment1');//从本地session去除复选的值,注意取出来的是用逗号隔开的字符串
//alert(moment1);
           //将选中的复选框状态显示出来    
                    $(".click_checkbox").each(function(){
                         var v=$(this).val();
                           if (moment1!=null&&moment1!='') {
                          if (moment1.indexOf(v)!=-1) {//判定一个值是否存在另一个字符串中
                         $(this).prop("checked",true);//切换页数后,会默认选择复选框
                             //alert("判断通过");
}else{
//alert("判断失败");
}
}
                       });

}

以上代码,可以直接使用,希望对大家有所帮助,如果不懂,请留言

总结: 就是把每次选中的复选框的值保存到一个数组中,如果取消复选框则,在数组中删除该值,然后将数组添加到本地session中(会话级别: 不关闭窗口一直存在),然后每次加载页面完毕后,将本地session中的值取出来,将页面上所有的chedbox的值取出来,进行判定是不是在数组中,如果在,则设置属性为true,不存在则,不做操作

原创粉丝点击