Dropdownlist在MVC中禁用和启用复选框操作

问题描述:

在我的MVC应用程序中,我的表单包含一个复选框和下拉列表。当我选择复选框为true时,我想禁用dropdownlist,反之亦然。另外我想填充一个'None'值作为下拉列表中的选定项目,从db中填充下拉列表中有一些其他数据。有什么解决办法?请帮我解决这个问题。 谢谢Dropdownlist在MVC中禁用和启用复选框操作

+0

以我.cshtml文件

@ Html.LabelFor(型号=> model.IsActive) ​​@ Html.CheckBoxFor(型号=> model.IsActive) @ Html.ValidationMessageFor(型号=> model.IsActive) – 2012-02-17 06:30:22
+1

通过一些JavaScript/jQuery的教程演示了如何操作DOM – Eranga 2012-02-17 06:33:37

+0

走的是它可能没有jQuery和我如何可以设置默认值没有?在dropdownlistitems的顶部? – 2012-02-17 06:36:23

你将需要使用JavaScript来做到这一点。使用jQuery你可以订阅.change事件的复选框,并切换下拉的disabled属性:

$(function() { 
    $('#id_of_your_checkbox').change(function() { 
     if ($(this).is(':checked')) { 
      // disable the dropdown: 
      $('#id_of_dropdown').attr('disabled', 'disabled'); 
     } else { 
      $('#id_of_dropdown').removeAttr('disabled'); 
     } 
    }); 
}); 

我也想在下拉列表填充一个“无”的值作为选择的项目

这不是一个很常见的要求。您将不得不在第IEnumerable<SelectListItem>集合前面手动添加此项目作为DropDownListFor助手的第二个参数。

+0

感谢Darin为您提供宝贵的答案。它节省了我很多时间......因为我是mvc和jquery的新成员.............有一件事我注意到当表单被选中时第一次加载。那时我们可以选择dropdown.how我可以禁用这个@表单加载? – 2012-02-17 07:27:22