You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过JavaScript将复选框状态存入Cookie,实现刷新后状态保留?

复选框状态Cookie持久化实现方案

实现代码

你现有的HTML、CSS代码无需修改,新增如下JavaScript代码即可实现需求:

// Cookie写入方法
function setCookie(name, value, days = 30) {
  const date = new Date();
  date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
  const expires = "expires="+ date.toUTCString();
  document.cookie = name + "=" + value + ";" + expires + ";path=/";
}

// Cookie读取方法
function getCookie(name) {
  const cname = name + "=";
  const decodedCookie = decodeURIComponent(document.cookie);
  const ca = decodedCookie.split(';');
  for(let i = 0; i <ca.length; i++) {
    let c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(cname) == 0) {
      return c.substring(cname.length, c.length);
    }
  }
  return "";
}

// 页面加载完成后初始化状态+绑定事件
document.addEventListener('DOMContentLoaded', function() {
  const checkbox = document.querySelector('input[type="checkbox"]');
  // 从Cookie读取状态恢复
  const savedStatus = getCookie('checkbox_status');
  if (savedStatus === 'checked') {
    checkbox.checked = true;
  }
  // 监听状态变更存储到Cookie
  checkbox.addEventListener('change', function() {
    setCookie('checkbox_status', this.checked ? 'checked' : 'unchecked');
  });
});

可调整参数说明

  • 你可以修改setCookie方法传入的第三个参数调整Cookie的有效时长,默认值为30天
  • 如果页面存在多个复选框,可以给每个复选框添加唯一id,修改Cookie存储的key值做区分即可

内容的提问来源于stack exchange,提问作者WEI A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 11:21:04