javascript - 如何在页面重新加载后保持复选框选中状态?

标签 javascript java jquery html

刷新页面后,我无法保持复选框处于选中状态。

最佳答案

为此,您需要使用 cookie...一旦用户单击复选框,将其状态存储到 cookie 中,然后在页面加载时获取 cookie 值,以预先填充复选框,就像它们在之前的选择中一样。

HTML

<div>
  <label for="option1">Option 1</label>
  <input type="checkbox" id="option1">
</div>
<div>
  <label for="option2">Option 2</label>
  <input type="checkbox" id="option2">
</div>
<div>
  <label for="option3">Option 3</label>
  <input type="checkbox" id="option3">
</div>
<button>Check all</button>

获取复选框值并从中创建 cookie

var checkboxValues = {};
$(":checkbox").each(function(){
  checkboxValues[this.id] = this.checked;
});
$.cookie('checkboxValues', checkboxValues, { expires: 7, path: '/' })

读取 cookie 并在加载时预填充的函数

function repopulateCheckboxes(){
  var checkboxValues = $.cookie('checkboxValues');
  if(checkboxValues){
    Object.keys(checkboxValues).forEach(function(element) {
      var checked = checkboxValues[element];
      $("#" + element).prop('checked', checked);
    });
  }
}

Working Fiddle

关于javascript - 如何在页面重新加载后保持复选框选中状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31671918/

相关文章:

java - 如何配置 JMeter 以命中我本地 ActiveMQ 服务器上的特定队列?

javascript - jquery ui 可在旋转的 div 中拖动

javascript - 使文本看起来像用打字机打字一样

javascript - 将 JSON 字符串从 serializeArray() 转换为 sql 可存储字符串

javascript - http ://0. 0.0.0 :4567 is not allowed by Access-Control-Allow-Origin. 与 Backbone 和 Firebase

java - 抽象计划服务 : shutdown underlying executor

java - 当我测量外部 sdcard 存储时,输出为负数

javascript - 混合应用程序来计算本地目录下的文件数量?

javascript - 如何在鼠标悬停表格行上的鼠标旁边显示图像

javascript - Jquery 在附加项目上设置属性