有幾個的,你需要做的事情。首先,使用knockout mapping plugin,然後設置使用類別屬性:
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 available。
你的jsfiddle似乎工作正常,你在問什麼? – 7zark7 2013-02-20 06:39:11
如果您點擊更新按鈕。該表未更新。 – comfreakph 2013-02-20 06:42:44