我編碼了使用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