2014-10-08 56 views
1

您好,非常感谢您为使用像我这样的程序员学习stackoverflow这么棒的资源。我一直在阅读大量的答案,以帮助我的第一个MVC项目,这是我第一次问。如何通过查看MVC URL来设置下拉选项

这里一旦一个项目从下拉列表中选择的是我的下拉HTML

<div class="dropdown"> 
    <select id="assetSelect" onchange="location = this.options[this.selectedIndex].value;"> 
     <option value="/History/Index/All">All Assets</option> 
     @foreach (var item in Model.NodeInfo) 
     { 
      <option value="/History/Index/@item.node.name">@item.node.name</option> 
     } 
    </select> 
</div> 

,网址看起来会像这样

http://web.site/History/Index/G0000106

现在我想要抓住这最后一部分(在本例中为G0000106),并将相应的下拉选项设置为选中。这里是我拼凑到目前为止的JavaScript,但它不工作。

$('#assetSelect').find('option').each(function() { 
    function getCurrentPageId() { 
     var params = window.location.href.split('/'); 
     var i = params.length; 
     var pageId = params[i]; 
     return pageId; 
    } 
    var currentPageId = getCurrentPageId(); 
    var $this = $(this); 
    if ($this.text() == currentPageId) { 
     $this.attr('selected', 'selected'); 
     return false; 
    } 
}); 

这个函数是否可以与填充下拉列表的函数一起工作?这是最好的方式,还是有一个可以做到这一点的HTML助手?任何帮助表示赞赏,谢谢!

+0

既然你已经在这里使用jQuery,我建议去掉onchange属性从