我编码了使用knockout.js下拉列表:knockout.js应用样式于下拉选项
次()是使用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调用该字符串。
这将允许我设置不同风格的某些选项,如果我的视图模型需要它们。有任何想法吗?
问题是什么?另外,什么是'displayName'? (是否可观察?) – SLaks
views()是一个使用REST通过JSON实例化的对象数组。 displayName是这些对象的String属性,不可观察。我想比较displayName属性,如果它匹配某个单词,我想对该选项应用一些样式。 – Husman
==比较目前不起作用。我可以读取displayName并显示在下拉菜单中,但由于某些原因,我无法将它与另一个字符串进行比较。 – Husman