如果选择了其他下拉列表,则隐藏下拉列表

时间:2017-11-22 10:01:02

标签: .net asp.net-mvc c#-4.0

我有两个下拉列表, 我的任务是隐藏其中一个下拉列表。 如果用户在下拉列表1中选择一个值,我需要隐藏下拉列表2和viseversa。

 @if (Model.DeputyId == null)
                        {
                        <div class="form-group">
                            <label>@Html.DrawLabel("PoliticalGroup")</label>
                            @Html.DropDownListFor(m => m.PoliticalGroupId, Model.PoliticalGroups, @Html.DrawLabel("SelectAPoliticalGroup"), new { @class = "form-control" })
                        </div>
                        }
                        @if (Model.PoliticalGroupId == null)
                        {
                        <div class="form-group">
                            <label>@Html.DrawLabel("Deputy")</label>
                            @Html.DropDownListFor(m => m.DeputyId, Model.Deputies, @Html.DrawLabel("SelectADeputy"), new { @class = "form-control" })
                        </div>
                        }

这是我需要控制的两个下拉列表。 谢谢你的时间

1 个答案:

答案 0 :(得分:0)

  • 同时为两个下拉列表(在本例中为“ddl”)

    @Html.DropDownListFor(model => model.A3, new SelectList(Model.lstManager3, "Value", "Text", Model.A3), "Select", new { @class = "ddl form-control" })
    
    @Html.DropDownListFor(model => model.A4, new SelectList(Model.lstManager4, "Value", "Text", Model.A4), "Select", new { @class = "ddl form-control" })
    

jquery代码

    var className = '.ddl';
    var defaultDdl1Text = 'SelectAPoliticalGroup';
    var defaultDdl2Text = 'SelectADeputy';


     $(className).change(function () {
        var Value = this.value;
        var Text = $(this).find('option:selected').text();
        if (Text != defaultDdl1Text && Text != defaultDdl2Text) {
            $(className).not(this).hide();
        }
        else {
            $(className).not(this).show();
        }
    });