设置ListBoxFor<>中可选择的最大项目数

时间:2012-01-25 15:19:15

标签: c# asp.net-mvc-3 razor listbox

我有一个列表框中有40个结果的列表,可以多选,但是我想将选择的数量限制为只有一个数字,比如说5.在C#MVC中,我有:

 @Html.ListBoxFor(model => model.Location, new SelectList(Model.AllLocations,     Model.Location), new { id = "AllLocations" })

在控件上设置此约束的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

的Javascript。 Html没有为此提供任何机制。像这样:

$(document).ready(function() {

    // Add a click event for options in the list.
    $('#MyModel_Location option').click(function() {

        // Check if the parent has reached the limit of selected items.
        if ($(this).parent().val().length > 5) {
            // Removed the selected attribute from this option.
            $(this).removeAttr("selected");
        }
    });
});