2011-06-23 9 views
0

MVCページに複数のDropDownListsがあります。画面に表示される各ユーザーごとに1つ。複数のMVC DropDownLists - 各フォームを別々に送信する

ユーザーがドロップダウンリストを変更したときに、コントローラでアクションを呼び出す必要があります。この呼び出しは、ドロップダウンに対応するユーザと選択された項目の値をコントローラに渡す必要があります。

私はjQueryでこれを行う方法について考えていますが、各DropDownのjQueryハンドラを動的に設定する方法はあまりよく分かりません。

アイデア?

サンプルコード:

閲覧:

@foreach (var user in Model.Users) 
    { 
     <tr> 
      <td> 
        @user.Name 
      </td> 
      <td> 
       @using (Html.BeginForm()) 
       { 
        @Html.DropDownList(@user.Name + "-dd", @Model.UserGroups, "Add to group...") 
       } 
      </td> 
     </tr> 
    } 

コントローラー:

公共のActionResult AddToGroup(文字列ユーザは、文字列SelectedValueの){...}

答えて

1

CSSクラスを使用しドロップダウンリストの場合

@Html.DropDownList(@user.Name + "-dd", @Model.UserGroups, "Add to group...", new { @class = "user-drop-down" }) 

そして、jQueryのセレクタを使用し

$('.user-drop-down').change(....) 

あなたのMVCのアクションにデータを掲示するためにそこにあなたのロジックを入れてください。 http://api.jquery.com/change/

+0

ありがとう、$ {"select"}を使ってドロップダウンリストにハンドラを追加する方法があります。foreach()。change()。 – Arrkaye

関連する問題