页面刷新后,我无法保持选中的复选框。

最佳答案

为此,您需要使用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

10-06 16:08