删除并显示gridview中下拉列表中的项目

时间:2014-07-24 08:09:53

标签: c# asp.net .net drop-down-menu

我想要在dropdown中发生selectedindexchanged事件时删除下拉列表中的项目(存在于gridview内)。例如,对于例如。我有5个项目在3 dropodownlist中相同,如果第一个下拉列表更改为第一个项目,我希望剩下的两个下拉列表中只有4个项目

<asp:DropDownList runat="server" ID="ddMapping" CssClass="DDAttributeField DDAttributeFieldNew DD_detailSelect" DataTextField="Name"
                                Width="200px" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="ddMapping_SelectedIndexChanged">
                                <asp:ListItem Text="DO NOT IMPORT" Value="-1" Selected="True"></asp:ListItem>
                                <asp:ListItem Text="SKU/Product ID" Value="1"></asp:ListItem>
                                <asp:ListItem Text="Catalog" Value="2"></asp:ListItem>
                                <asp:ListItem Text="Collection" Value="3"></asp:ListItem>
                                <asp:ListItem Text="Display Order" Value="4"></asp:ListItem>
                                <asp:ListItem Text="Name" Value="5"></asp:ListItem>
                            </asp:DropDownList>


public void ddMapping_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList ddlCurrentDD = (DropDownList)sender;
        string selected = ddlCurrentDD.SelectedIndex.ToString();
    }

编辑:我现在已经获得了所选的索引值,我希望将其隐藏在其他下拉列表中

1 个答案:

答案 0 :(得分:0)

首先向所有3个下拉列表添加一个类(名称为 ddlSelect ) 像

<asp:DropDownList ID="DropDownList1" runat="server" class="ddlSelect"> ......

现在写下这个查询,因为你提到我希望剩下的两个下拉列表中只剩下4个项目

  $(document).ready(function () {
            $('.ddlSelect').on('change', function () {
                var index = $(this).find('option:selected').index();
                $('.ddlSelect').find('option').show();
                $('.ddlSelect').not(this).find('option:eq(' + index + ')').hide();
            });
        });