从knockout.js的下拉列表中更新对象 [英] Updating objects from a drop down list in knockout.js
问题描述
尝试在下拉列表中编辑对象。选择项目时, name
和后缀
显示在可编辑的文本字段中;我可以编辑(并保存) name
,但更改为后缀
不要坚持。
Trying to edit objects in a drop-down list. When selecting an item, name
and suffix
display in editable text fields; I can edit (and save) name
, but changes to suffix
don't stick.
这是JS代码,其余的是小提琴: http:// jsfiddle.net/raffian/4kXXc/1/
Here's the JS code, the rest in on 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());
推荐答案
不知道它没有的技术原因'工作(任何人都知道?)
Don't know the technical reason why it doesn't work (anybody knows?)
一个有效的解决方案是删除 selectedDomain()。
并通过放置替换它a在tr或td元素中绑定 data-bind =with:selectedDomain
A working solution is to remove selectedDomain().
and replace it by placing a with binding in either tr or td elements data-bind="with: selectedDomain"
这篇关于从knockout.js的下拉列表中更新对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!