保留html.dropdownlist中的选定值

时间:2012-05-09 15:03:20

标签: javascript jquery asp.net-mvc

我有一个下拉列表。即使执行了javascript函数,如何使选定的值保持选中状态。现在,无论我选择什么选项,运行javascript函数后,下拉默认返回第一个选项。

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

                     }, new { onchange = "GetGenre()" })%>

的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中有两个控制器..我想根据拾取的内容路由到每个控制器......

2 个答案:

答案 0 :(得分: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 = "";
        });
    });

答案 1 :(得分:0)

为什么不将表单发布到控制器上,然后控制器可以查看您为表单字段选择的值,并将您重定向到/ kids?MovieType = Kids或/ adult?MovieType = Adult。然后你的onchange就是form.submit()。这遵循Post,Redirect,Get方法。