バインドされた表のセルのテキストが更新されたときに更新する必要があります。domテキストが変更されたときにknockoutjs viewmodelを更新する
アップデートを行うには何が必要ですか?
例:
バインドされた表のセルのテキストが更新されたときに更新する必要があります。domテキストが変更されたときにknockoutjs viewmodelを更新する
アップデートを行うには何が必要ですか?
例:
これはすでにKnockoutJsの枠組みの中で実装されていない場合、私はよく分かりません。
これはあなたのための私のカスタムバインディングでは、質問:
<td id="idCell" data-bind="textValue: Car.id, valueUpdate: 'change'"
class="header"></td>
の作業例:バインディング
ko.bindingHandlers.textValue = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
// First get the latest data that we're bound to
var value = valueAccessor(), allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
$(element).change(function(){
value($(this).text());
});
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
var value = valueAccessor(), allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
$(element).text(valueUnwrapped);
}
};
は次のようになりますあなたは根本的な値、観測可能に変更する必要がありhttp://jsfiddle.net/AlfeG/dNtNb/
、 DOMを更新する代わりに。
はなぜあなたの代わりに、直接基礎となるデータを更新するセルのテキストを更新していますか? knockout.jsの全体的なポイントは、あなたのビューモデルで作業することができ、UIの更新について心配する必要がないことです。フレームワークはそれを気にします。後でプレゼンテーション(テーブルからdivへの切り替えなど)を変更したい場合は、コードを変更する必要はなく、単にhtmlを変更してバインディングを設定するだけです。 –