【问题标题】:Cookie value change when i check/uncheck a checkbox当我选中/取消选中复选框时 Cookie 值更改
【发布时间】: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,但它只通过了第一次,当我选中/取消选中复选框时没有任何反应
  • @DevHugo 我不认为这是同一个问题。我正在使用 jquery cookie 插件

标签: javascript jquery html cookies


【解决方案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}); 
    }
});

【讨论】:

    猜你喜欢
    • 2019-10-30
    • 2012-04-10
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    相关资源
    最近更新 更多