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

@Html.DropDownListFor - How to set different color for a single item in list?

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

这样在页面中进行硬编码

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

而是

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

有没有办法让一件物品变成不同的颜色?

您可以更新您的 styles/css 以将一件商品设为红色。现在您没有指定您想要的具体项目。使用 jQuery,您可以 select 特定选项并将其颜色设置为红色。

假设您的 razor 视图呈现这样的 SELECT 元素

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

如果你想设置值属性设置为“2”的选项的颜色,你可以使用下面的代码

$(function(){

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

});

如果您想更新其他选项,请更新您的 jQuery select 或获取它。

编辑:根据评论

is there any way to use the text as opposed to the value? Example change if text is "Deleted"

您可以更新您的jQuery select或获取带有特定文本的选项。

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

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