【问题标题】:How can i change the background color or apply an color to an Item in Drop down list如何更改背景颜色或将颜色应用于下拉列表中的项目
【发布时间】:2011-09-14 20:43:18
【问题描述】:

大家好,我现在有一个包含一些项目的下拉列表,同时检查列表中的项目,如果该项目存在于下拉列表中,我想为该特定项目应用颜色。

假设我的下拉菜单如下

    123
    1234
    12345

现在,如果我找到 123,我想为该特定元素应用颜色,请提供任何帮助

【问题讨论】:

  • 您能详细说明并发布您编写的代码
  • 不可能为下拉菜单的每个元素的基本select 标签添加特定的背景颜色。您必须通过一些事件对 div 进行下拉式控制,以实现该级别的可定制性。
  • @Tejs:您可以为选项指定背景,但仅在某些浏览器中支持。

标签: c# asp.net


【解决方案1】:

我只是尝试了一个示例,我不知道它是否适合您,这只是根据您的要求尝试的示例

lst=new ListItem("123");
if (DropDownList1.Items.Contains(lst))
{
   for (int i = 0; i < DropDownList1.Items.Count; i++)
   {
     if (DropDownList1.Items[i].Equals(lst))
     {
        DropDownList1.Items[i].Attributes.Add("style", "background-color: red;");
    }
  }
}

根据您的第二个要求

ListItemCollection lstr = new ListItemCollection();
lstr.Add("123");
lstr .Add("1234");
foreach (ListItem lst in lstr)
{
if (DropDownList1.Items.Contains(lst))
{
for (int i = 0; i < DropDownList1.Items.Count; i++)
{
  if (DropDownList1.Items[i].Equals(lst))
  {
    DropDownList1.Items[i].Attributes.Add("style", "background-color: red;");
  }
 }
 }
 }

【讨论】:

  • 是的,定义一个 List&lt;string&gt;ArrayList 来保存多个值,然后使用 foreach(listitem li in arr) 循环语句,这样就可以了
  • 非常感谢 User 它在我测试的每个浏览器上都能正常工作
【解决方案2】:

这不是一个直接的答案,但我认为您可以使用以下方法来检索、修改和重新创建下拉列表的属性。

您是否尝试过访问iten 的属性集合。它包含项目的 css 类,但不能直接编辑。

dropdown.Items[0].Attributes.CssStyle

你必须检索集合,复制它,定义一个新的 css 属性,清除旧的并分配一个新的。

【讨论】:

    猜你喜欢
    • 2014-07-15
    • 1970-01-01
    • 2019-12-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2022-01-11
    • 2020-09-02
    • 1970-01-01
    相关资源
    最近更新 更多