Javascript 基于url选择的下拉突出显示?

Javascript 基于url选择的下拉突出显示?,javascript,jquery,html,Javascript,Jquery,Html,我有一个下拉列表,在更改时会转到所选页面。但是,当该页面加载时,我希望能够显示它所在的页面。例如,如果有人单击colorado,它将移动到该页面,但显示的选项始终是第一个“全部查看”。如何搜索单击的内容,然后将其显示在页面上?我知道我可以使用会话,但这是相当困难的,因为我正试图在sharepoint中完成所有这些 <select name="dropdown" onchange="javascript:location = this.options[this.selectedIndex]

我有一个下拉列表,在更改时会转到所选页面。但是,当该页面加载时,我希望能够显示它所在的页面。例如,如果有人单击colorado,它将移动到该页面,但显示的选项始终是第一个“全部查看”。如何搜索单击的内容,然后将其显示在页面上?我知道我可以使用会话,但这是相当困难的,因为我正试图在sharepoint中完成所有这些

 <select name="dropdown" onchange="javascript:location = this.options[this.selectedIndex].value;">
<option value="...Lists/Events/Events.aspx">See All</option>
<option value="...Lists/Events/Colorado.aspx">Colorado</option>
<option value="...Lists/Events/MidAtlatic%20States.aspx">Mid-Atlantic States</option>
<option value="...Lists/Events/Pacific%20NorthWest.aspx">Pacific Northwest</option>
</select>​

见识
科罗拉多州
大西洋中部各州
西北太平洋
​

在DOM就绪时执行它

$('select[name="dropdown"] option').each(function(){

   var _val = $(this).val().replace("...", ""); // Fetching value and replacing ...

   if(window.location.href.indexOf(_val)!=-1)
      $(this).attr("selected", true);

});

你可以在下面试试这个。加载新页面时,它将从url中提取相应选项的值并设置该值

$(document).ready(function(){
var pageName = location.pathname.split("/")[url.split("/").length - 1]; 
$('select option').each(function()
{
  if($(this).val().indexOf(pageName) != -1)
     $('select').val($(this).val());   
});

});

示例:

为什么使用javascript?您也可以在.NET中执行此操作,从请求对象读取值…。@Mr.White hmmm我对.NET不是很熟悉,我认为JS将是最简单的。我会查看.NET,但更愿意使用JS.Hmmm。这可能适用于一个单词选项,但不适用于Pacific Northwest,对吗?它应该适用,因为实际页面名的值与下拉列表的值相同。Nvm我认为这将起作用,只需添加:optionName.replace(“%20”);嗯,如果下拉列表值与它不直接对应,我就很难设置下拉列表值。我正在记录optionName,它可能有点不正确。我已经用一个更好的解决方案和一个示例更新了答案。希望这可以完成工作。抱歉,如果不使用jquery,我可以执行document.getElementById吗??