为每个复选框设置jQuery cookie

我有一个简单的jQuery函数,可以根据复选框状态切换类。 这是代码:

jQuery的:

$('input[name$="bg-noise-option"]').click(function(){ var targetClass = $(this).data('at'); $('.' + targetClass).toggleClass('bg-noise'); }); 

HTML:

  

问题:如何为每个选中的复选框创建cookie? 我只是试图给这些复选框留下一些记忆……不确定最好的方法。

我怀疑某种类型的.each(function)应该这样做,但我仍然是javascript新手。 我尝试过以下方法:

 $.each(function(){ $.cookie('bg-noise-cookie', $(this).data('at'), {expires:365, path: '/'}); }) 

但当然,只为最近选中的复选框创建一个cookie。 如何为每个创建一个独特的cookie? 或者我甚至需要? 也许有一种方法可以将它们存储在一个cookie(一个数组?)中,然后只需在页面加载时引用该数组来检查复选框?

非常需要洞察力。

这假设您正在使用JQuery Cookie插件 ,因为我看到您在问题中引用了它。

这个给你。 在任何复选框单击时创建并更改单个cookie文件,仅存储与复选框对应的值的数据。

在页面加载时,它检索该JSON字符串,将其转换回对象,然后循环,将检查应用于任何匹配属性的框。

代码测试和工作。

HTML:我在复选框中添加了“[]”以正确分组它们并删除任何默认的复选框。

 

JQuery:使用$ .cookie()插件