我有一个asp.net mvc页面,我希望有一个不同背景颜色的下拉列表like this page
我有以下代码来显示下拉列表
<label>Data Source: </label><% = Html.DropDownList("DataSource", Model.CalendarDataSources, new { @id = "calendarDSDropdown", @class = "calendarDSDropdown" })%>
在我的viewmodel中我有:
public IEnumerable<SelectListItem> CalendarDataSources;
我在服务器上填充。我想为每个SelectListItem添加一个不同的积压工作,但我看不到怎么做,因为选择列表项只有名称,Id,选择属性
这是可能的
答案 0 :(得分:1)
不幸的是,内置的DropDownList
帮助器不允许您在生成的style
标记上设置option
属性。你必须自己动手帮助才能实现这一目标。
作为替代方案,您可以使用jQuery设置颜色:
$(function() {
$('select#DataSource option').each(function() {
var option = $(this);
option.css(
'background-color',
someFunctionThatMapsTheOptionValueToAColor(option.val())
);
});
});