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

时间:2013-11-26 17:46:12

标签: javascript jquery knockout.js

尝试在下拉列表中编辑对象。选择项目时,namesuffix会显示在可编辑的文本字段中;我可以编辑(并保存)name,但对suffix的更改不会坚持。

这是JS代码,其余的是小提琴: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());

1 个答案:

答案 0 :(得分:1)

不知道它不起作用的技术原因(有人知道吗?)

一个可行的解决方案是删除selectedDomain().并通过在tr或td元素data-bind="with: selectedDomain"

中放置带有绑定来替换它

示例http://jsfiddle.net/f42xw/