尝试在下拉列表中编辑对象。选择项目时,name
和suffix
显示在可编辑的文本字段中;我可以编辑(并保存)name
,但对suffix
的更改不会持久。
以下是JS代码,其余部分在fiddle上:http://jsfiddle.net/raffian/4kXXc/1/
function Domain(n){
var self = this;
self.name = ko.observable(n);
self.suffix = ko.observable();
};
function DomainsViewModel(){
var self = this;
self.domains = ko.observableArray([]);
self.newDomain = ko.observable("");
self.selectedDomain = ko.observable();
self.addNewDomain = function() {
self.domains.push(new Domain(self.newDomain()));
self.newDomain('')
};
};
ko.applyBindings(new DomainsViewModel());
不知道它不工作的技术原因(有人知道吗?)
一个可行的解决方案是删除selectedDomain().
,并通过在tr或td元素data-bind="with: selectedDomain"
中放置带绑定的来替换它
样品http://jsfiddle.net/f42xw/