编辑:我自己在这个解决方案上使用 JSON 做了更多的工作,而不是在这里编辑问题,我决定重写它并在这里更清楚https://stackoverflow.com/questions/18866952/add-remove-values -from-json-string-and-save-to-a-cookie
我有一个项目需要设置一个具有不同值的 cookie,这些值classes
来自一个input
复选框。
我有一个工作一半的演示在这里 http://jsfiddle.net/chFCx/7/
我想做的事
- 我只能使用 1 个 cookie
filteredName
,因为我需要在页面加载时从中读取 - 请参阅第 4 点。 - 当我取消选中一个复选框时,我希望将输入字段的类名添加到 cookie 中(我在演示中这样做,但我一次只能保存一个值)
- 当我选中复选框时,我希望现在从 cookie 中删除该输入字段的类名。
- 当我刷新页面时,我希望取消选中 cookie 中的复选框。
我假设它需要是 cookie 保存的某种 Json 字符串或数组,这就是我遇到问题的地方,需要在这里询问专业人士。
到目前为止,我的 JS 如下,但最好查看演示以获取更多上下文。
// Add or Remove Cookie On Change Function
$("input[type=checkbox]").change(function(){
var cookieValue = $.cookie("filteredName"); // for display purposes only
var checkedClass = $(this).attr('class');
if ($(this).prop('checked')) {
// if checkbox is checked remove checkedClass from cookie
$('input[type=text].cookieValue').val(cookieValue); // for display purposes only
} else {
// if checkbox is un-checked add checkedClass to cookie
$.cookie('filteredName', checkedClass, { path: '/' });
$('input[type=text].cookieValue').val(cookieValue); // for display purposes only
}
});
$('input[type=text].cookieValue').val(cookieValue);
// On Page load set checkboxes with class names in cookie to hide checkbox
// Read Cookie
// For each class name in Cookie .prop('checked' true);
编辑:我自己在这个解决方案上使用 JSON 做了更多的工作,而不是在这里编辑问题,我决定重写它并在这里更清楚https://stackoverflow.com/questions/18866952/add-remove-values -from-json-string-and-save-to-a-cookie