Настройка цвета фона выпадающего элемента с помощью jQuery Select - PullRequest
0 голосов
/ 13 мая 2011

У меня есть раскрывающийся список в моем проекте C # / .NET, который находится на дочерней странице (в пределах главной страницы).

Я применяю стиль выбора jQuery через главную страницу:

$(function () {
   $('select[id*="lstClients"]').selectmenu({ style: 'dropdown', maxHeight: 150 });
});

Мне нужно придать некоторым элементам в раскрывающемся списке другой цвет фона.

например. если у ClientX есть Y проектов, тогда установите цвет фона на красный или что-то в этом роде.

У меня есть все данные / счетчики, которые заполняются через код, поэтому в основном я спрашиваю, знает ли кто-нибудь, как я могу изменить цвет фона некоторых элементов в раскрывающемся списке через jQuery?

Псевдо-код:

If ddl.Item.value > 0
 set bgColor = black
Else
 set bgColor = white

Заранее спасибо

1 Ответ

0 голосов
/ 13 мая 2011

I думаю jQuery UI SelectMenu будет отмечать background-color для option (это, конечно, сработало, когда я немного поиграл с ним на здесь .

Итак, учитывая это, вы могли бы сделать что-то подобное. Я использовал List<Pair> в качестве примера источника данных, так как вы не упомянули, каковы были ваши исходные данные. ddlItems - это идентификатор DropDownList.

List<Pair> items = new List<Pair>();
items.Add(new Pair("zero", "0"));
items.Add(new Pair("one", "1"));
items.Add(new Pair("two", "2"));

foreach (Pair item in items)
{
    ListItem li = new ListItem();
    li.Text = item.First.ToString();
    li.Value = item.Second.ToString();
    li.Attributes.CssStyle.Add("background-color", (int)item.Second > 0 ? "black" : "white");
    ddlItems.Items.Add(li);
}

Я должен признать, что у меня не было возможности проверить это полностью, но, надеюсь, это сработает для вас. Вероятно, вы можете сделать то же самое, используя класс, например: Attributes.Add("class", "greaterThanZero");, который позволит избежать встроенных стилей.

...