jquery - 如何使用 jQuery 从 cookie 中删除未选中的复选框值?

标签 jquery checkbox cookies

我正在尝试编写一个脚本,其中一组复选框的未选中值将从 cookie 中删除。我正在使用 jQuery 的 cookie 插件,下面是我当前的函数,当调用复选框时会调用该函数;

<script type="text/javascript">
 jQuery(document).ready(function($){
    $("input[type=checkbox]").each(function () {
      $(this).change(updateCount);
    });

    updateCount();

    function updateCount () {

      var val;
      var my_cookie
      var new_my_cookie;

    $(':checkbox:checked').each(function(){
      val= $(this).val();
      my_cookie=$.cookie("chosen_ones");
      $.cookie("chosen_ones", null);
      new_my_cookie=my_cookie+"|"+val;
      $.cookie("chosen_ones", new_my_cookie);
    });

    //somehow need to remove values from cookie when unchecked here

      var length = $.cookie("chosen_ones").split("|").length;
      length=length-1;
      $("#count").text(length);
      $("#status").toggle(length >= 0);
    };
  });
</script>

欢迎任何帮助。

最佳答案

不要删除该值。在每个复选框更改中,您只需获取所有选中的复选框(就像现在一样),将它们添加到一个字符串中(或使用 json?),将它们存储在 cookie 中作为“checkedboxes”或其他内容。如果取消选中一个复选框,您可以运行相同的函数,获取所有选中的复选框,保留刚刚取消选中的复选框,并覆盖 cookie 中当前的选中框,不是吗?

//编辑

用 cookie 中的 JSON 对象编写了一个小示例。适用于多个页面:-) http://labs.joggink.be/json-checkbox-cookie/

关于jquery - 如何使用 jQuery 从 cookie 中删除未选中的复选框值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3573468/

相关文章:

php - 下一个 jquery 不起作用,我的代码是正确的

php - Jquery ajax php 需要帮助请

javascript - 通过单击 div 来选中复选框 - 不适用于其他功能

node.js - 在 NodeJS 中存储服务器端 cookie 的位置?

node.js - 如何在 NodeJS 上访问 socket.io 中的 cookie-session 中间件?

php - nginx/php/php-fpm |存储 cookie 的问题

jquery - 单击一个 div 移动另一个?

javascript - 将 html block 作为参数传递

javascript - 多个复选框 jquery 手动单击复选框触发,但 'code clicked' 一个不触发

android - Jetpack Compose 中复选框中的透明复选标记