2012-05-09 74 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に2つのコントローラを持っている..私は選ばれているものに基づいて、各コントローラへのルートにしたい...

+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

コントローラーで行うことができます。if formVar = kids返すView( "Kids")else返すView( "アダルト")。 –

0

あなたのフォームをコントローラに投稿して、それであなたがtのために選んだ値を見ることができないのはなぜですか?彼はフィールドを作成し、/ kidsにリダイレクトしますか?MovieType = Kidsまたは/ adult?MovieType =大人。その後、あなたのonchangeはform.submit()になります。 Post、Redirect、Getメソッドに従います。

関連する問題