如何在ASP MVC中选中复选框时禁用DropDownList

时间:2013-05-22 09:39:53

标签: c# javascript visual-studio-2010 asp.net-mvc-3

我正在使用C#和SQL Server 2005开发ASP .Net MVC 3应用程序。

我也在使用Entity Framework和Code First Method。

在视图中,我有2个复选框和DropDownList。

我想在勾选复选框时,DropDownList和其他复选框变为禁用。

我使用javascript来做到这一点。

复选框很完美,它已被禁用但我仍然遇到DropDownList问题。

这是代码:

<div>
<input type="checkbox" name="option1" value="Poste Initial" id= "chkMain" />Poste Initial<input type="checkbox" name="option2" value="Poste Final" id= "chkFirst" onclick="test2();"/>Poste Final</div>

<div><%:Html.Label("Poste Suivant :")%><%: Html.DropDownListFor(model => model.PosteSuivantSelected, Model.PostesItems); ID = "dd"%></div>

<script type="text/javascript">

         function test2() {
             var chkMain = document.getElementById('chkMain');
             var chkFirst = document.getElementById('chkFirst');
             var dd = document.getElementById('dd');

             if (chkFirst.checked) {
                 chkMain.disabled = 'disabled';
                 dd.disabled = 'disabled';

             }
             else {
                 chkMain.disabled = false;

             }
         }

    </script>

我在DropDownList

行中有编译错误

1 个答案:

答案 0 :(得分:4)

<%: Html.DropDownListFor(
    model => model.PosteSuivantSelected, Model.PostesItems); ID = "dd"%>

这是无效的语法。如果您希望为下拉列表分配ID,请使用匿名类型:

Html.DropDownListFor(
    model => model.PosteSuivantSelected, Model.PostesItems, new { @id = "dd" });