我正在设置一个使用MVC4的前端。有几个Listboxfor框,但我想限制每个框的数量达到一定数量。例如,Listboxfor1应该有最多5个可选项,而Listboxfor2应该最多有7个。
我在网上做了几次搜索,只发现了使用webforms和javascript的服务器端修复。虽然这都是桃子和奶油,但我似乎无法弄清楚如何将它应用于MVC。
下面是我的listboxfor代码的代码片段
@Html.ListBoxFor(model => model.Games,
new SelectList(Model.Games.Where(m => m.action == action), "GameID", "Title"),
new { id="listbox" + action, @class="lbGames"})
答案 0 :(得分:0)
使用Html帮助程序无法解决此问题。您可以使用javascript进行一些解决方法。
此@Html.ListBoxFor
将转换为html,如下所示:
<select id="listbox" class="lbGames">
<option value="Action1">Action1</option>
<option value="Action2">Action2</option>
...
</select>
所以你可以用jquery写这样的东西:
$("#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!!!');
}
});
注意,我没有测试过这段代码。这只是一个快速的例子,可以帮助您找到正确的方法。