我在此发布之前检查过此内容,但没有发现任何问题。

我有一个下拉列表,在列表末尾手动添加了一个项目。我想为此商品使用其他颜色,例如红色,以将其与其他商品区分开。我可以做这部分。但是,当我选择该项目时,下拉菜单中所选项目中的文本不是红色。我不确定是否有任何方法可以对其应用样式。

这是我使用的(假设下拉菜单中最后一项的“值”为0):

ListItem li = ddl1.Items.FindByValue("0");

if (null != li)
{
    li.Attributes.Add("style", "color:red");
}


上面的作品将最后一项着色为红色。当我选择最后一个项目并希望所选项目以相同的红色显示时,以下内容不起作用:

ListItem li = ddl1.Items.FindByValue("0");

if (null != li)
{
    li.Attributes.Add("style", "color:red");

    if (li.Selected)
        ddl1.SelectedItem.Attributes.Add("style", "color:red");
    else
        ddl1.SelectedItem.Attributes.Add("style", "color:black");
}


也没有这样做(如果我选择了最后一项,实际上会将所有列表项都涂成红色):

ListItem li = ddl1.Items.FindByValue("0");

if (null != li)
{
    li.Attributes.Add("style", "color:red");
    ddl1.Style["color"] = "red";
}

最佳答案

要使用纯CSS方式,请添加此CSS

#ddl1>option:checked  {
  background-color: red;
}


在C#中,您可以添加并选择新选项。让我知道这是否需要改变方向

10-06 11:05
查看更多