从knockout.js中的下拉列表更新对象



尝试在下拉列表中编辑对象。选择项目时,namesuffix显示在可编辑的文本字段中;我可以编辑(并保存)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/

最新更新