页面刷新后记住checkbox的选中状态

     今天要求页面刷新一次后,用户在页面刷新前选中的checkbox还是保持原来的选中状态,于是就想到用jq获取被选中的checkbox对象,然后存储到 localstorage ,但是试了很久发现这个东西不能存储对象,只能存储字符串,幸好每个checkbox都有一个唯一对应的商品id值作为value,于是就遍历选中的checkbox,再一个个将value值存入,最后取出value值,根据这个value值选中checkbox,实现功能。

    

//存储被选中checkbox的个数以及value值
var checked=$('input[id=remember_check]:checked');
checked.each(function (i) {
    localStorage.setItem(i,$(this).val());
    localStorage.setItem('length',i);

});

$(function () {
    //取得本地存储的被选中checkbox的个数,循环将checkbox选中
    var length=localStorage.getItem('length');
    for(var i=0;i<=length;i++){
        var a=localStorage.getItem(i);
        $("input:checkbox[value="+a+"]").attr("checked","checked");
    }
    //清空,避免刷新后checkbox还是选中状态
    localStorage.clear();
});

      

你可能感兴趣的:(页面刷新后记住checkbox的选中状态)