Javascript Html获取selectedindex值,并在页面重新加载后将其保留

Javascript Html获取selectedindex值,并在页面重新加载后将其保留,javascript,dom-events,html-select,Javascript,Dom Events,Html Select,我有一个像这样的html下拉列表 <select onchange="redirect(this.value)"> <option>choose a category</option> <option>Business</option> <option>Music</option> <option>Sports</option>

我有一个像这样的html下拉列表

<select onchange="redirect(this.value)"> 
    <option>choose a category</option> 
    <option>Business</option>    
    <option>Music</option>
    <option>Sports</option>
    <option>Cause</option> 
    <option>Politics</option> 
</select>

选择一个类别
生意
音乐
体育
原因
政治
用于重定向到其他页面内容的My Javascript代码:

<script>
  function redirect(ddcategory){ 
    window.location= ddcategory;
  } 
</script>

函数重定向(ddcategory){
window.location=ddcategory;
} 
重定向正在工作,但如何使下拉列表中的选定选项即使在页面加载后仍保持不变

例如,当我选择音乐时,音乐页面会加载,但类别下拉列表中的值会变回选择类别;如何将其设置为选定值


请解决这个问题。

我认为您可以通过会话解决这个问题。使用ajax或任何编程语言都是可能的。
将选择设置为onchange函数上的session,并从session on load中设置selected选项

在移动到页面之前,您可以将变量保存在会话存储中

然后在加载页面时,在下拉列表中实现更改

  function redirect(ddcategory){ 
    sessionStorage["MyChoise"]= ddcategory;
    window.location= ddcategory;
  } 
在加载页面上:

function OnLoadPage()
{
   //Select your element from the session 
}
我会使用比浏览器会话持续时间更长的。在我的链接中,您甚至有一个不支持本地存储(使用cookie)的浏览器的后备方案


如果您只希望在当前会话中使用此功能,请使用“sessionStorage”(会话存储)

使用cookie,或使用其他查询参数(例如
?ddcat=val
)。现在,它将ddcat项存储在localStorage元素中,并将其设置为我选择的值(例如Music)…我现在要做什么来设置这个dropdownlist select值..我应该在哪里获取这个项目..使用domready处理程序(例如:),当dom准备就绪时,从localStorage读取您的类别,并将您的select设置为该值(如果存在)。问题:你为什么在客户端这么做?你只有静态页面吗?如果您有客户端脚本语言(php、ruby、java、asp),那么您应该在服务器上执行类似的操作
// set the ddcat
localStorage.setItem('ddcat', 'yourddcat value');

// get the ddcat
var ddcategory = localStorage.getItem('ddcat');