更改复选框列表中所选列表项的背景颜色

Dor*_*eka 1 c# asp.net checkboxlist

我在我的网页中使用checkboxlist如下:

<asp:CheckBoxList ID="chklstTelpas" runat="server" RepeatDirection="Horizontal" 
                  AutoPostBack="True" Width="594px"
                  OnSelectedIndexChanged="chklstTelpas_SelectedIndexChanged">
    <asp:ListItem Text="TELPAS Speaking" Value="1"></asp:ListItem>
    <asp:ListItem Text="TELPAS Listening" Value="2"></asp:ListItem>
    <asp:ListItem Text="TELPAS Reading" Value="3"></asp:ListItem>
    <asp:ListItem Text="TELPAS Writing" Value="4"></asp:ListItem>
</asp:CheckBoxList>
Run Code Online (Sandbox Code Playgroud)

现在,如果我检查列表项,我想为该特定选定项应用一些背景颜色.如果我取消选中,我希望背景保持与最初显示的颜色相同,或者我想删除背景颜色.

Bas*_*sen 6

你可以做这样的事情

        for (int i = 0; i < chklstTelpas.Items.Count; i++)
        {
            if (chklstTelpas.Items[i].Selected)
            {
                chklstTelpas.Items[i].Attributes.Add("style", "background-color: red;");
            }
            else
            {
                chklstTelpas.Items[i].Attributes.Add("style", "background-color: white;");
            }
        }
Run Code Online (Sandbox Code Playgroud)

这将允许您为几个选项着色.如果你使用SelectedIndex它只会给你最低的索引.