あなたがしなければならないことがいくつかあります。まず、ノックアウト マッピング プラグインを使用し、それを使用して Categories プロパティを設定します。
self.Categories = ko.mapping.fromJS(category);
あなたのコードは配列を観察可能にしていますが、その中の各項目ではありません。マッピング プラグインを使用して、各カテゴリとそのすべてのプロパティを監視可能にします。
次に、更新関数を更新して元のカテゴリを取得し、その値を更新する必要があります。
self.updateCategory = function (category) {
var r = confirm("Are you sure you want to update this category " + self.ID() + "?");
if (r == true) {
var original = ko.utils.arrayFirst(self.Categories(), function (item)
{
return category.ID() == item.ID();
});
console.log(original.CreatedAt());
original.Name(self.Name());
original.Remarks(self.Remarks());
self.Name("");
self.Remarks("");
self.isSelected(true);
}
};
値を変更すると、テーブルの行が自動的に更新されることがわかります。
jsFiddle が利用可能です。