为每个复选框设置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()插件