从knockout.js的下拉列表中更新对象
尝试在下拉列表中编辑对象。 选择项目时, name
和suffix
显示在可编辑的文本字段中; 我可以编辑(并保存) 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());
不知道为什么它不起作用的技术原因(有人知道吗?)
一个有效的解决方案是删除selectedDomain().
并通过在tr或td元素中放置带有绑定来替换它data-bind="with: selectedDomain"
示例http://jsfiddle.net/f42xw/