我正在使用 knockout.js 编写一个下拉列表:
views() 是一个使用 REST 通过 JSON 实例化的对象数组。displayName 是这些对象的 String 属性,是不可观察的。我想比较 displayName 属性,如果它匹配某个单词,我想对该选项应用一些样式。
<select id="views" data-bind="
options: views(),
optionsText: 'displayName',
optionsValues: 'id',
value: selectedView,
style: { color: ( displayName == 'some arbitrary text') ? 'red' : 'black' }
"></select>
当我不向其添加样式绑定时,下拉菜单按预期工作。我可以做一个简单的比较(即 1 == 1)并且它有效(尽管所有选项都变成红色)。我想要做的是将“displayName”属性与一些任意文本进行比较。它现在只是一个字符串,包含任何文本,但稍后将从我的 ViewModel 调用此字符串。
如果我的视图模型需要,这将允许我以不同的样式设置某些选项。有任何想法吗?