asp.net-mvc – 根据MVC中第一个dropdownlistfor的值启用第二个和第三个dropdownlist

我有三个DropDownLists.如果选择了第一个DropDownList中的特定值,则应启用第二个Dropdownlist.例如,如果选择了“播放器3”,则应启用另外两个DropDownList,但是,如果选择“播放器2”,则应禁用最后一个DropDownList,并启用第二个DropDownList.

我怎么能轻松做到这一点?我首先使用的是MVC 3 EF模型.
这是我的观点中的代码

<p>Player</p>
     <div class="editor-field">
        @Html.DropDownListFor(m => m.PlayerName,Model.SubjectTypes,"Choose player",new { @class = "selectstyle" })
        @Html.ValidationMessageFor(model => model.PlayerName)
    </div>

    <p>Position</p>
    <div class="editor-field">
        @Html.DropDownListFor(model => model.PositionName,Model.Consultants,"Choose Position",new { @class = "selectstyle" })
        @Html.ValidationMessageFor(model => model.ContactPerson)
    </div>

    <p>Team</p>
    <div class="editor-field">
        @Html.DropDownListFor(model => model.TeamName,Model.Teams,"Choose Team",new { @class = "selectstyle" })
        @Html.ValidationMessageFor(model => model.ContactPerson)
    </div>

解决方法

您可以订阅一个下拉列表的.change()事件,然后根据当前选择的值启用/禁用其他值:

$(function() {
    $('#PlayerName').change(function() {
        var value = $(this).val();
        if (value == 'Player3') {
            $('#PositionName,#TeamName').removeAttr('disabled');
        } else if (value == 'Player2') {
            $('#PositionName').removeAttr('disabled');
            $('#TeamName').attr('disabled','disabled');
        }
    });
});

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....