问题描述
|
我有一个带有多个DropDownLists的MVC页面。屏幕上显示的每个用户一个。
我需要做的是在用户更改任何下拉列表时在控制器上调用操作。该调用需要将下拉菜单所对应的用户以及所选项目的值传递给控制器。
我对如何使用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){....}
解决方法
将CSS类用于下拉列表
@Html.DropDownList(@user.Name + \"-dd\",@Model.UserGroups,\"Add to group...\",new { @class = \"user-drop-down\" })
然后使用JQuery选择器
$(\'.user-drop-down\').change(....)
将您的逻辑放在此处,以便将数据发布到您的MVC操作中。有关如何实现javascript方法的更多信息,请参考JQuery API:http://api.jquery.com/change/