我的索引包含呈现页面的默认值。我已经根据使用 jquery 的用户操作在我的视图中的下拉列表中填写了列表(根据用户操作,相同的下拉列表包含不同的列表)。
我的问题是当我刷新页面时,下拉菜单会使用索引中提供的默认数据进行恢复。
有什么方法可以在页面刷新时将数据传递给索引,比如来自文本框的数据或下拉列表中当前选择的值?
我的索引包含呈现页面的默认值。我已经根据使用 jquery 的用户操作在我的视图中的下拉列表中填写了列表(根据用户操作,相同的下拉列表包含不同的列表)。
我的问题是当我刷新页面时,下拉菜单会使用索引中提供的默认数据进行恢复。
有什么方法可以在页面刷新时将数据传递给索引,比如来自文本框的数据或下拉列表中当前选择的值?
这应该可以使用存储或 cookie 轻松完成...每次更改时将列表、值和您需要的所有内容存储在 cookie 中。在页面刷新时,检查 cookie 是否存在,如果它确实从 cookie 中获取列表而不是默认值。
if(typeof(Storage)!=="undefined"){
localStorage.dropdownlist = thelist; // The list being your list of options.
}else{
//Storage not supported, use cookie logic instead.
}
然后,根据您的页面初始化逻辑,只需添加一个这样的检查。
if(typeof(Storage)!=="undefined" && typeof(localStorage.dropdownlist)!=="undefined"){
populateDropDown(localStorage.dropdownlist); // The function being the same as when jQuery calls it.
}else{
//Storage not supported, use cookie logic instead.
}
localStorage 对象存储没有过期日期的数据。关闭浏览器时数据不会被删除,将在下一天、下周或下一年可用。您可能要考虑改用 sessionStorage。sessionStorage 对象与 localStorage 对象相同,只是它只存储一个会话的数据。当用户关闭浏览器窗口时,数据将被删除。