我在理解如何将addClass变成cookie时遇到了一些麻烦。我有一个多选框,目前通过添加活动类过滤产品列表,然后仅显示具有指定标记的产品。如果您进行选择,然后单击其中一个产品以查看产品,然后返回,则必须再次重新选择以前选择的选项。以下是用于进行选择的代码。
tabsBlock.children('.tab').click(function() {
var tabContentClass = $(this).attr('id') + '-content';
tabsBlock.children('.active').removeClass('active');
tabsContentBlock.children('.active').removeClass('active').hide();
$(this).addClass('active');
if (tabContentClass.length) {
tabsContentBlock.children('#' + tabContentClass).addClass('active').show();
}
getTags();
});
感谢所有帮助!
答案 0 :(得分:0)
对于你描述的情况,我会使用隐藏的输入。见这个例子:
Put checkbox values into hidden input with jQuery
原因是,听起来您只需要存储此特定情况的值。存储在cookie中将要求您管理cookie何时过期,这可能会导致混乱并导致意外行为。
我不太了解localStorage(如评论中所述) - 这也可能是一个可行的选择。
答案 1 :(得分:0)
感谢大家的帮助。我最终使用Astaroth's建议使用本地存储。
$(".tag-group-label").click(function(){
localStorage.setItem('tagGroupLabelState', 'open');
});
$(document).ready(function(){
if(localStorage.getItem('tagGroupLabelState') == 'open') {
$('.tag-group-label').addClass('open').next('.tag-container').slideToggle(400, function(){
reCalcStickyElement();
});
}
});