我有一个表单和一个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/
我不知道我在做什么错,你能帮忙吗?
答案 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});
}
});