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

时间:2018-09-28 07:54:08

标签: javascript jquery html cookies

我有一个表单和一个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/

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

2 个答案:

答案 0 :(得分:4)

将事件添加到您的代码中,例如单击或更改时,因为当前仅在加载时运行。

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});
        }
}
});

答案 1 :(得分:2)

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

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