来自 jQuery UI 对话框的 Knockout 取消更新
Knockout cancel update from jQuery UI dialog
我有父模型 person
。视图模型有一个 person
的可观察数组。对于 edit/add 一个人,我有一个 jQuery UI 对话框 (Ok/Cancel)。
var viewModel = function(){
var self = this;
self.personEntry = ko.observable(new person());
self.people = ko.observableArray();
self.populatePeople = function(jsonPeopleObj){//adds person objects to people array};
};
personEntry
子模型使用 with
绑定绑定到 jQuery UI 对话框。使用 people
可观察数组上的 foreach
绑定生成 table。
现在,当我尝试修改记录时,我会在单击该行时调用以下函数。
function rowSelected(item,event){
viewModel.personEntry(item);
openDialog();
}
这会在 jQuery UI 对话框中打开包含所选行详细信息的对话框。但是,如果我更改一个值,然后在对话框中按取消,table 仍然会被修改为一个新值,这不应该发生。有什么想法吗?
如果需要,我可以放一个示例代码。
我已经解决了这个问题...
https://jsfiddle.net/ramkiFiddle/v29exev5/59/
self.amendDetails = function(item, event) {
itemProgressed = item;
operation = 'Amend';
var tempObj = new Person(item.Name(), item.Age());
pageModel.personEntry(tempObj);
$("#personEntry").dialog('open');
}
我有父模型 person
。视图模型有一个 person
的可观察数组。对于 edit/add 一个人,我有一个 jQuery UI 对话框 (Ok/Cancel)。
var viewModel = function(){
var self = this;
self.personEntry = ko.observable(new person());
self.people = ko.observableArray();
self.populatePeople = function(jsonPeopleObj){//adds person objects to people array};
};
personEntry
子模型使用 with
绑定绑定到 jQuery UI 对话框。使用 people
可观察数组上的 foreach
绑定生成 table。
现在,当我尝试修改记录时,我会在单击该行时调用以下函数。
function rowSelected(item,event){
viewModel.personEntry(item);
openDialog();
}
这会在 jQuery UI 对话框中打开包含所选行详细信息的对话框。但是,如果我更改一个值,然后在对话框中按取消,table 仍然会被修改为一个新值,这不应该发生。有什么想法吗?
如果需要,我可以放一个示例代码。
我已经解决了这个问题...
https://jsfiddle.net/ramkiFiddle/v29exev5/59/
self.amendDetails = function(item, event) {
itemProgressed = item;
operation = 'Amend';
var tempObj = new Person(item.Name(), item.Age());
pageModel.personEntry(tempObj);
$("#personEntry").dialog('open');
}