我如何将backcolor放在selectListItem上

时间:2010-09-02 11:04:42

标签: asp.net-mvc selectlistitem

我有一个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,选择属性

这是可能的

1 个答案:

答案 0 :(得分:1)

不幸的是,内置的DropDownList帮助器不允许您在生成的style标记上设置option属性。你必须自己动手帮助才能实现这一目标。

作为替代方案,您可以使用jQuery设置颜色:

$(function() {
    $('select#DataSource option').each(function() {
        var option = $(this);
        option.css(
            'background-color', 
            someFunctionThatMapsTheOptionValueToAColor(option.val())
        );
    });
});