我想要在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();
}
编辑:我现在已经获得了所选的索引值,我希望将其隐藏在其他下拉列表中
答案 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();
});
});