@ Html.DropDownListFor - 如何为列表中的单个项目设置不同的颜色?

时间:2016-10-25 19:28:58

标签: asp.net-mvc-4 colors html.dropdownlistfor

我希望我的DDL中的一个项目是不同的颜色(红色)。但是,该列表来自一个表,并且不像

那样在页面中进行硬编码

<option value="Option 1">Option 1</option>

而是

@Html.DropDownListFor(r => r.Journal.Frequency, Model.JournalFrequencyList, "Select a Frequency", new { @class = "form-control" })

有没有办法让一个项目变成另一种颜色?

1 个答案:

答案 0 :(得分:1)

您可以更新样式/ css以使一个项目成为红色。现在您没有指定所需的特定项目。使用jQuery,您可以选择特定选项并将其颜色设置为红色。

假设您的剃刀视图呈现类似这样的SELECT元素

<SELECT id="fancySelect">
    <option value="1">One</option>
    <option value="2">Two</option>
   <option value="3">Three</option>
</SELECT>

如果您想设置值属性设置为&#34; 2&#34;的选项的颜色,您可以使用以下代码

$(function(){

    $("#fancySelect option[value='2']").css('color','red');
    //you can also apply a css class if needed

});

如果您想更新其他选项,请更新您的jQuery选择器以获取该选项。

编辑:根据评论

  

有没有办法使用文本而不是值?例   如果文字是&#34;删除&#34;

,则更改

您可以更新jQuery选择器以获取具有特定文本的选项。

$("#fancySelect").find("option:contains('Deleted')").css('color','red');

我建议您依赖选项值而不是文本,您可以将值设置为可编程的代码。