将 Cookie 设置为复选框状态

Set Cookie on Check box state

本文关键字:复选框 状态 设置 Cookie      更新时间:2023-09-26

我正在尝试通过浏览其他帖子来找到一种方法,以在复选框状态下设置cookie。基本上,我在jQuery中使用切换功能,当选中复选框时会隐藏一些div。当用户转到其他页面时,他需要再次单击复选框以隐藏这些div

jQuery(document).ready(function () {
jQuery('#checkbox').change(function () {
  jQuery('#ilan').fadeToggle();
});
});

有没有快速的方法可以将 cookie 设置为大约 1 或 2 天?补充:如何根据不同页面上的复选框状态隐藏或显示DIV?已经试过了

你不一定为此使用 cookie,你可以使用 localStoragesessionStorage

localStorage属性允许您访问本地Storage对象。 localStorage类似于sessionStorage。唯一的区别是,虽然存储在localStorage中的数据没有过期时间,但存储在sessionStorage中的数据会在浏览会话结束时(即浏览器关闭时(清除。

jQuery(function ($) {
  // localStorage saves text only
  var checked = localStorage.getItem('checked') === "true"; 
  
  $('#checkbox').prop('checked', checked);
  $('#ilan').toggle(!checked);
  $('#checkbox').change(function () {
    $('#ilan').fadeToggle();
    var isChecked = $(this).is(':checked');
    localStorage.setItem('checked', isChecked);
  });
});

应用程序接口:

  • .prop(propertyName, value)
  • .toggle(display)
  • .is(selector)
  • :checked
  • .setItem(keyName, keyValue)

https://github.com/carhartl/jquery-cookie使用您的代码

$(document).ready(function () {
    $('#checkbox').change(function () {
      $('#ilan').fadeToggle();
      isilanVisible = $('#ilan').is(":visible");
      $.cookie("isilanVisible", isilanVisible, { expires : 2 });
    });
    if ($.cookie("isilanVisible") == false){
        $('#ilan').hide();
        $('#checkbox').prop('checked', true);
    }
});

https://github.com/carhartl/jquery-cookie

您可以设置饼干:

$.cookie("myCookie", 123);

要删除:

$.removeCookie("myCookie");

此外,要在 Cookie 上设置一定天数(此处为 2(的超时,请执行以下操作:

$.cookie("myCookie", 123, { expires : 2 });

如果省略过期选项,则 Cookie 将成为会话 Cookie,并在浏览器退出时删除。

要读回 Cookie 的值,请执行以下操作:

var cookieValue = $.cookie("myCookie")