在我的网页中,有两个复选框列表。
<asp:CheckBoxList ID="chk1" runat="server" AutoPostBack="True" onselectedindexchanged="chk1_SelectedIndexChanged" >
<asp:ListItem Value="1">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
</asp:CheckBoxList>
和
<asp:CheckBoxList ID="ch2" runat="server" AutoPostBack="True" >
<asp:ListItem Value="3">3</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem>
</asp:CheckBoxList>
如果我在chk1中检查1,则应在chk2中禁用3,如果我在chk1中选中2,则应在chk4中禁用4。
答案 0 :(得分:2)
试试这个,
protected void chk1_SelectedIndexChanged(object sender, EventArgs e)
{
if(chk1.selectedIndex==0)
{
chk2.Items[0].enabled=false;
}
else if(chk1.selectedIndex==1)
{
chk2.Items[1].enabled=false;
}
}
答案 1 :(得分:2)
请尝试使用以下代码段。
protected void chk1_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (ListItem item in chk1.Items)
{
switch (item.Value)
{
case "1":
if (chk2.Items.FindByValue("3") != null && item.Selected == true)
chk2.Items.FindByValue("3").Enabled = false;
else
chk2.Items.FindByValue("3").Enabled = true;
break;
case "2":
if (chk2.Items.FindByValue("4") != null && item.Selected == true)
chk2.Items.FindByValue("4").Enabled = false;
else
chk2.Items.FindByValue("4").Enabled = true;
break;
default:
break;
}
}
}