2014-10-08 50 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屬性從