【发布时间】:2015-09-11 05:46:24
【问题描述】:
我有一个显示对象列表的选择下拉菜单,name 属性是显示的文本,id 属性是每个选项绑定到的值,value: user.id 绑定来自另一个对象的单独属性。
<td data-bind=""><select data-bind="options: peopleResponsible, optionsText: 'name', optionsValue: 'id', value: user.id"></select></td>
当我从下拉列表中选择一个新的人员对象时,只有user 上的id 正在更新。所有其他属性(姓名、用户名、年龄等)都没有更新。
它需要做什么是选择新的peopleResponsible选项时,我希望它将其从该对象的属性的所有所有复制到user对象。
我怀疑目前它不起作用,因为user 对象本身是不可观察的,只有它的属性是可观察的。以下是我的数据的映射方式:
ko.mapping.fromJS(taskOutlines, {}, mappedTaskOutlines);
其中一个TaskOutline 包含许多Tasks,而每个Task 包含一个User。
有什么想法吗?
【问题讨论】:
-
尝试设置一个小提琴它会很容易修复它。欢呼
标签: javascript knockout.js mapping observable