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

如何设置Cookie值为复选框的选中状态布尔值

实现方法

要让Cookie值和复选框选中状态同步,只需要在事件触发时读取复选框的checked布尔属性,拼接为Cookie值即可,同时补充页面加载时的Cookie读取回显逻辑,完整实现如下:

修改后的完整JS代码

// 绑定复选框状态变更事件,用change比click更兼容键盘操作等场景
document.getElementById("example").addEventListener("change", exampleCookie);

function exampleCookie() {
  const checkbox = document.getElementById("example");
  // 读取当前复选框选中状态,拼接为Cookie字符串
  // path=/ 配置保证站点下所有页面都能读取到该Cookie,可按需添加max-age配置过期时间
  document.cookie = `exampleCookie=${checkbox.checked}; path=/`;
}

// 页面加载时读取Cookie,回显复选框状态
window.addEventListener("DOMContentLoaded", () => {
  const cookieArr = document.cookie.split('; ');
  const targetCookie = cookieArr.find(item => item.startsWith('exampleCookie='));
  if (targetCookie) {
    const checkedValue = targetCookie.split('=')[1] === 'true';
    document.getElementById("example").checked = checkedValue;
  }
  // 初始化触发一次,保证首次加载页面时Cookie和初始状态同步
  exampleCookie();
});

关键说明

  • 复选框的checked属性本身就是true/false布尔值,直接读取即可拿到当前选中状态
  • Cookie仅支持存储字符串类型,因此存入的布尔值会自动转为"true"/"false"字符串,读取时手动判断转回布尔值即可
  • 不推荐用click事件监听复选框状态,change事件会在值真正发生变更时触发,覆盖键盘操作、脚本修改值等更多场景
  • 如果需要Cookie长期有效,可以在Cookie字符串后追加max-age=秒数配置,例如; max-age=31536000表示有效期1年

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 03:06:42