当我选中/取消选中复选框时 Cookie 值更改

Posted

技术标签:

【中文标题】当我选中/取消选中复选框时 Cookie 值更改【英文标题】:Cookie value change when i check/uncheck a checkbox 【发布时间】:2019-03-04 04:26:15 【问题描述】:

我有一个表单和一个 cookie,它们必须具有与复选框输入字段相同的值,我希望 cookie 在我选中/取消选中复选框时更改其值(真/假)。

这是我尝试过的,但它似乎不起作用:

<input id="checkbox1" type="checkbox" name="performance" value="checked" checked="checked"> checkbox number 1
if ($('input#checkbox1').is(':checked')) 
  $.cookie('cookie1', 'true',  expires: 60);
 else 
  $.removeCookie("cookie1");
  $.cookie('cookie1', 'false',  expires: 60);

一个jsFiddle:https://jsfiddle.net/kdfhb4n9/6/

我不知道我做错了什么,你能帮忙吗?

【问题讨论】:

当你进入console.log时你的条件是否已经通过了? 是的,我为此编辑了 jsfiddle,但它只通过了第一次,当我选中/取消选中复选框时没有任何反应 jQuery checkbox change and click event的可能重复 @DevHugo 我不认为这是同一个问题。我正在使用 jquery cookie 插件 【参考方案1】:

为您的代码添加一个事件,例如点击或更改,因为目前它仅在加载时运行。

function check()
    if ($('input#checkbox1').is(':checked')) 
        console.log("true inside");
             $.cookie('cookie1', 'true',  expires: 60 );
            
            else
            
            console.log("false");
                $.removeCookie("cookie1");
                $.cookie('cookie1', 'false',  expires: 60);
        

);

【讨论】:

感谢您的评论,事实上,我将使用 on change 属性。我会发布答案。【参考方案2】:

感谢@harsh-metrey,我找到了答案,我实际上是在加载时运行脚本:

$("input#checkbox1").change(function() 
    if($(this).is(":checked"))  
        $.cookie("cookie1", "true", expires: 60); 
    
    else  
        $.cookie("cookie1", "false", expires: 60); 
    
);

【讨论】:

以上是关于当我选中/取消选中复选框时 Cookie 值更改的主要内容,如果未能解决你的问题,请参考以下文章

如何更改未选中复选框的值0

复选框值不能基于选中或使用jquery取消选中来更改[重复]

JQuery 正在更改复选框值,但复选框未显示为选中状态

滚动列表视图 BaseAdapter 上的复选框选中/未选中状态更改

当我取消选中自定义树视图中的子节点复选框时,如何取消选中所有父节点

Javascript 检查/取消选中所有复选框并将值写入 textarea