首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >记忆搜索参数

记忆搜索参数
EN

Stack Overflow用户
提问于 2014-02-17 14:34:32
回答 1查看 155关注 0票数 0

我试图制作一个小网站与搜索过滤器(文本框和复选框)。我已经搜索过了,并且看到只在刷新后才记住过去的搜索过滤器的方法是使用会话存储。

然而,问题是,即使当用户浏览网站并返回搜索页面时,他/她仍然会看到过去的搜索过滤器。当用户来自不同的页面时,我想重置搜索筛选器。

我正在思考和搜索如何在用户离开页面后删除存储在会话存储中的这些变量,并且只在用户刷新时才保留这些变量。

我目前的代码如下:

代码语言:javascript
复制
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);
}

在用户离开搜索页面后,请说明如何删除会话存储中的变量。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-17 14:39:32

在常见的JavaScript文件中添加以下代码。在除搜索页以外的所有页面上引用此文件:

代码语言:javascript
复制
sessionStorage.removeItem('selectedCompanies');
sessionStorage.removeItem('selectedCategories');
sessionStorage.removeItem('searchWord');

这将清除所有其他页面上的搜索参数,但允许数据在搜索页上持久化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21831761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档