如何使用jquery禁用列表框中的多项选择?还是javascript?

如何使用jquery禁用列表框中的多项选择?还是javascript?,javascript,asp.net,jquery,asp.net-mvc,asp.net-mvc-2,Javascript,Asp.net,Jquery,Asp.net Mvc,Asp.net Mvc 2,我的页面中有一个列表框 <td><%=Html.ListBox("listServiceTypes", Model.ServiceTypeListAll, new { style = "width: 500px;height:200px;" })%> 我需要禁用从列表框中选择多个项目吗?我正在做一些事情,比如选择一个项目,然后单击“删除”按钮我的页面从列表框中删除一个项目。。但是如果我选择多个项目,它会抛出一条错误消息/ 任何人都可以帮助我如何从列表框中取消激活或禁用多

我的页面中有一个列表框

<td><%=Html.ListBox("listServiceTypes", Model.ServiceTypeListAll, new { style = "width: 500px;height:200px;" })%>
我需要禁用从列表框中选择多个项目吗?我正在做一些事情,比如选择一个项目,然后单击“删除”按钮我的页面从列表框中删除一个项目。。但是如果我选择多个项目,它会抛出一条错误消息/


任何人都可以帮助我如何从列表框中取消激活或禁用多个项目吗?此脚本将关闭页面上所有选择控件的多个选择

<script type="text/javascript">
    $(document).ready(function () {
        $('select').removeAttr('multiple');
    });
</script>
您可以使用以下jQuery来实现这一点:

$(function(){
  $("select[name='listServiceTypes']").removeAttr('multiple');
});
但是,最好在服务器端执行此操作。与其使用Html.ListBox,不如使用Html.DropDownList:


这样就不需要执行任何jQuery/JavaScript来删除多属性,因为它生成的HTML几乎相同,但没有多属性。如果“大小”的值大于1,则会告诉浏览器将其显示为多行列表框。

我想获得一个具有单选而不是下拉列表的列表框。这正是我想要的。基本上,获取大小大于1的ListBoxFor,然后使用jQuery删除multiselect

JS部分:

<script type="text/javascript">
    $(function () {
        $(document).ready(function () {
            $('.NoMultiSelect').removeAttr('multiple');
        });
    });
</script>
此ASP是否生成。。。如果是这样,只需调用$mySelect.removeAttr'multiple';
<script type="text/javascript">
    $(function () {
        $(document).ready(function () {
            $('.NoMultiSelect').removeAttr('multiple');
        });
    });
</script>
@Html.ListBoxFor(m => Model.SelectedItems, Model.AllItems, new {  @class = "NoMultiSelect form-control", size = 4, style = "width: 250px; height: 300px;" })