Ihr erstes Problem ist, dass man die Klammern verpasst auf Ihrer Bindung:
<input type="checkbox" value="Yes" data-bind="checked: is_checked() == 'Yes'"/>
Jetzt wird das Kontrollkästchen korrekt auf Belastung geprüft werden.
Das größere Problem ist, dass das Anklicken des Kontrollkästchens den Wert nicht zurück schreiben wird. Wenn Sie is_checked() zu einem bool ändern, wird es funktionieren. Also, wenn Sie haben:
self.is_checked = ko.observable(true);
und
data-bind="checked: is_checked"
Es wird funktionieren. Wenn Sie das Kontrollkästchen deaktivieren, wird der Wert von is_checked aktualisiert. Wenn es Ihnen wirklich wichtig ist, dass es Ja/Nein und nicht Wahr/Falsch ist, dann müssen Sie Code schreiben, um den Wahr/Falsch-Prüfstatus in Ja/Nein zu übersetzen. Es gibt ein paar Möglichkeiten, wie du das machen kannst. Ich würde ein berechnetes Observable versuchen. Siehe hier: http://jsfiddle.net/jLkxG/7/
Haben Sie einen Link auf die falsche jsfiddle? Es scheint nicht mit Ihrer Frage verbunden zu sein. –
hat den Link repariert. – firebird