今天要求页面刷新一次后,用户在页面刷新前选中的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(); });