2

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

我也在使用实体框架和代码优先方法。

在一个视图中,我有 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 行中有一个编译错误

4

1 回答 1

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

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

Html.DropDownListFor(
    model => model.PosteSuivantSelected, Model.PostesItems, new { @id = "dd" });
于 2013-05-22T09:44:25.420 回答