2012-05-09 38 views
0

我有一個下拉列表。即使在執行javascript函數後,如何使所選值保持選定狀態。現在,無論我選擇什麼選項,在運行javascript函數後,下拉列表默認返回第一個選項。在html.dropdownlist中保留選定的值

​​

的Javascript

function GetGenre() 
{ 
    var e = document.getElementById("MovieType"); 
    var SelValue = e.options[e.selectedIndex].value; 

    if (SelValue == "Kids") 
     window.location.href = ""; 
    else 
     window.location.href = "";  

} 

編輯:

我已經在MVC3,KidsController和AdultsController兩個控制器..我想路由基於什麼拾取每個控制器...

+1

可以顯示此功能的代碼GetGenre() – Thulasiram

+0

我將功能添加到OP ..謝謝 – ZVenue

+0

爲什麼你的JavaScript中有window.location.href =「」?這將重新加載頁面,因此爲什麼你失去了選定的價值 –

回答

2
<%=Html.DropDownList("MovieType", new List<SelectListItem> 
        { 
         new SelectListItem{ Text="Kids", Value = "Kids" }, 
         new SelectListItem{ Text="Adults", Value = "Adults" } 

        }, new { @id = "ddlGetGenre" })%> 


    $(document).ready(function() { 
     $('#ddlGetGenre').val($.cookies('ddlGetGenre')); 

     $('#ddlGetGenre').on('change', function() { 
      $.cookies('ddlGetGenre', $(this).val()); 
      if ($(this).val() === "Kids") 
       window.location.href = ""; 
      else 
       window.location.href = ""; 
     }); 
    }); 
+0

請看我對Kevin Main的迴應。有沒有辦法做到這一點,而不使用window.location.href ..並根據下拉選擇路由到不同的控制器/操作? – ZVenue

+0

爲什麼你想控制什麼路線的人在你的MVC項目中的JavaScript?這應該在控制器中完成。 –

+0

控制器可以這樣做:如果formVar =孩子返回View(「Kids」)else返回View(「Adult」)。 –

相關問題