我试图制作一个小网站与搜索过滤器(文本框和复选框)。我已经搜索过了,并且看到只在刷新后才记住过去的搜索过滤器的方法是使用会话存储。
然而,问题是,即使当用户浏览网站并返回搜索页面时,他/她仍然会看到过去的搜索过滤器。当用户来自不同的页面时,我想重置搜索筛选器。
我正在思考和搜索如何在用户离开页面后删除存储在会话存储中的这些变量,并且只在用户刷新时才保留这些变量。
我目前的代码如下:
var selectedCompanies = new Array;
var selectedCategories = new Array;
var searchWord = "";
if(sessionStorage.getItem('selectedCompanies') != null){
selectedCompanies = JSON.parse(sessionStorage.getItem('selectedCompanies'));
alert("NOT NULL!");
//loop to recheck checkboxes
}
if(sessionStorage.getItem('selectedCategories') != null){
selectedCategories = JSON.parse(sessionStorage.getItem('selectedCategories'));
//loop to recheck checkboxes
}
if(sessionStorage.getItem('searchWord') != null){
searchWord = sessionStorage.getItem('searchWord');
$('#filter-searchbar').val(searchWord);
}在用户离开搜索页面后,请说明如何删除会话存储中的变量。谢谢!
发布于 2014-02-17 14:39:32
在常见的JavaScript文件中添加以下代码。在除搜索页以外的所有页面上引用此文件:
sessionStorage.removeItem('selectedCompanies');
sessionStorage.removeItem('selectedCategories');
sessionStorage.removeItem('searchWord');这将清除所有其他页面上的搜索参数,但允许数据在搜索页上持久化。
https://stackoverflow.com/questions/21831761
复制相似问题