私は KO のバージョン 2.2.0 を使用していoption
ます。要素の CSS を次のように設定しようとしています。
<select data-bind="foreach: $data.answers, value: selectedAnswer">
<option data-bind="css: $data.getScoringLevel, value: $data, text: $data.text"></option>
</select>
getScoringLevel() 関数は次のとおりです。
// Answer.
var Answer = function () {
var self = this;
self.id = '';
self.text = '';
self.sendAnswerToWebService = true;
self.scoringLevel = ko.observable(0);
self.getScoringLevel = ko.computed(function () {
switch (self.scoringLevel()) {
case 1:
return 'red';
case 2:
return 'orange';
case 3:
return 'yellow';
default:
return '';
}
}, self);
};
関数が実行されていることがわかります。関数内に配置したブレークポイントがヒットしているのを確認できますが、レンダリングされた HTML は次のようになります。
<option data-bind="css: $data.getScoringLevel, value: $data, text: $data.text" value="">Choose....</option>
class
何らかの理由で属性が設定されていません。たとえば、`class="red"' をどこかに期待していました。
誰かが私が間違っていることを教えてもらえますか?