フォームのリセット ボタンがクリックされたときに、Knockout はオブザーバブルを更新しません。
HTML:
<form>
<input type="text" data-bind="value: test" />
<input type="reset" value="reset" />
</form>
<p data-bind="text: test"></p>
JS:
function ViewModel() {
this.test = ko.observable("");
}
ko.applyBindings(new ViewModel());
この jQuery テストで見られるように、入力ボックスの変更イベントが発生していないことは明らかです: http://jsfiddle.net/LK8sM/4/
リセット ボタンが変更イベントを発生させていない場合、手動で指定することなく、フォーム入力にバインドされたすべてのオブザーバブルを強制的に更新するにはどうすればよいでしょうか?
jQuery を使用してフォーム内のすべての入力を検索し、変更イベントをトリガーするのは簡単ですが、ノックアウトのみの制御フォームがあると仮定しましょう。