Javascript 使用jquery选中/取消选中单个复选框

Javascript 使用jquery选中/取消选中单个复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有一个带有30多个复选框的HTML页面( 如何配置此脚本以仅记住我选中的复选框(仅记住选中或未选中的复选框) 这是我使用的脚本: $(function(){ var test = localStorage.input === 'true'? true: false; $('input').prop('checked', test || false); }); $('input').on('change', function() { localStorage.input

我有一个带有30多个复选框的HTML页面( 如何配置此脚本以仅记住我选中的复选框(仅记住选中或未选中的复选框)

这是我使用的脚本:

$(function(){
    var test = localStorage.input === 'true'? true: false;
    $('input').prop('checked', test || false);
});

$('input').on('change', function() {
    localStorage.input = $(this).is(':checked');
    console.log($(this).is(':checked'));
});

$('input')
匹配所有输入。给它一个更具体的选择器(最好是要记住的输入的
id

此代码保存会话之间所有复选框的状态:

$('input[type=checkbox]').each(function(idx) {
  this.checked= localStorage.getItem('input'+idx) === 'true';
});

$('input[type=checkbox]').each(function(idx) {
  $(this).click(function() {
    localStorage.setItem('input'+idx, this.checked);
  });
});

如果输入被添加、切换或删除,则需要另一种方法

如果每个输入都有一个
id
,则可以使用此代码:

$('input[type=checkbox]').each(function(idx) {
  this.checked= localStorage.getItem('input'+this.id) === 'true';
});

$('input[type=checkbox]').click(function() {
  localStorage.setItem('input'+this.id, this.checked);
});

谢谢,这很有道理!