2011-05-13 181 views
0

我在C#/ .NET項目中的子頁面上(母版頁內)有一個下拉列表。使用jQuery選擇設置下拉菜單項的背景顏色

我通過母版頁應用了jQuery selectmenu造型:

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

我需要給在下拉列表中某些項目不同的背景顏色。

例如如果ClientX有Y個項目,那麼將背景顏色設置爲紅色或類似的東西。

我已經通過代碼隱藏填充了所有的數據/計數器,所以基本上我問的是如果有人知道如何通過jQuery在下拉菜單中更改某些項目的背景顏色?

僞代碼:

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

在此先感謝

回答

0

認爲 jQuery UI的SelectMenu將履行一個background-coloroption(當我用它簡單地擺弄上here它肯定工作

因此,你可以做這樣的事情,我用List<Pair>作爲示例數據源,因爲你沒有提到什麼你的源數據是。 ddlItemsDropDownList的ID。

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");,它可以避免內聯樣式。

相關問題