C# 限制MVC4中Listboxfor的总选择数
我正在设置一个使用MVC4的前端。有几个列表框,但我想限制每个框的数量到一定的数量。例如,Listboxfor1最多应有5个可选项,而Listboxfor2最多应有7个可选项 我在网上做了几次搜索,只找到了一个使用webforms和javascript的服务器端修复程序。虽然这些都是桃子和奶油,但我似乎不知道如何将其应用于MVC 下面是我的listboxfor代码的一个片段C# 限制MVC4中Listboxfor的总选择数,c#,javascript,visual-studio-2010,asp.net-mvc-4,C#,Javascript,Visual Studio 2010,Asp.net Mvc 4,我正在设置一个使用MVC4的前端。有几个列表框,但我想限制每个框的数量到一定的数量。例如,Listboxfor1最多应有5个可选项,而Listboxfor2最多应有7个可选项 我在网上做了几次搜索,只找到了一个使用webforms和javascript的服务器端修复程序。虽然这些都是桃子和奶油,但我似乎不知道如何将其应用于MVC 下面是我的listboxfor代码的一个片段 @Html.ListBoxFor(model => model.Games, new SelectList(M
@Html.ListBoxFor(model => model.Games,
new SelectList(Model.Games.Where(m => m.action == action), "GameID", "Title"),
new { id="listbox" + action, @class="lbGames"})
仅使用Html帮助程序无法解决此问题。您可以使用javascript进行一些变通。 此@Html.ListBoxFor将转换为Html,如下所示:
<select id="listbox" class="lbGames">
<option value="Action1">Action1</option>
<option value="Action2">Action2</option>
...
</select>
注意,我没有测试这段代码。这只是一个快速的例子,可以帮助您找到正确的方法。谢谢。我希望这不是唯一的选择,但它也会起作用。我会给你一张有用的支票,但我还不能!非常感谢你,Maris。
$("#listbox").change(function() {
var mySelectedOptions = $.find('#listbox option:selected');
if(if(mySelectedOptions).length > 5){
// Your code here, if selected amount exceeds 5
alert('hey bro you selected more than 5 elements!!!');
}
});