如何禁用下拉列表时,一个复选框被选中在ASP MVC

How to disable a DropDownList when a checkbox is checked in ASP MVC

本文关键字:复选框 MVC ASP 一个 下拉列表 何禁用      更新时间:2023-09-26

我正在使用c#和SQL Server 2005开发一个asp.net MVC 3应用程序。

我也使用实体框架和代码第一方法。

在视图中,我有2个复选框和下拉列表。

我想当我选中复选框时,下拉列表和另一个复选框变成DISABLED.

我使用javascript来完成这个。

复选框是完美的,它被禁用了,但我仍然有一个问题下拉列表。

这是代码:

<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

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

语法无效。如果您希望为下拉列表分配一个id,那么使用匿名类型:

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