<div data-bind="css: { highlighted: highlight }, click: toggleHighlight">
random string
</div>
<input type="checkbox" data-bind="css: { 'checked': dimitri, 'unchecked': !dimitri() }, click: toggledimitri, checked: dimitri">
var ViewModel = function() {
var self = this;
self.dimitri = ko.observable(false);
self.toggledimitri = function() { self.dimitri(!self.dimitri()) };
self.highlight = ko.observable(true);
self.toggleHighlight = function() { self.highlight(!self.highlight()) };
}
ko.applyBindings(new ViewModel());
var vm = ko.dataFor(document.body);
を確認切り替えもノックアウトを使用してチェックボックスをチェックし、オフにしながらCSSクラス{チェックし、未チェック}のトグルがチェックです:CSSを:クリック:。私が正しいことをしていない少しのアイデア? jsfiddleノックアウトチェックボックストグルCSSクラスと私は後だ基本的に何をクリックすると
:ここ
はこれを示し更新バイオリンへのリンクです'checked'バインディングは、トグル機能を得るために追加の' click'バインディングを必要としません。チェックボックスから 'click'バインディングを削除し、何が起こるかを確認してください。 – user3297291
最初にお手伝いをしてくれてありがとうと私は一歩近づけましたが、ノックアウト観測値がfalseのときにチェックされていないクラスが割り当てられないように、私はもう一度元に戻しました。要素がチェックされていないときにクラスを割り当てる必要があります。 –
'unchecked'クラスバインディングで'!dimitri() 'を使う必要があります。 '!dimitri'はobservableを自動的にアンラップできません。だから: 'data-bind =" css:{'チェックした:dimitri、' unchecked ':!dimitri()}、チェック:dimitri "' – user3297291