我在更新集合中的元素时遇到问题。
当我的表单有一个集合并且相同的字段绑定到“输入框”和“span”时,输入框的修改不会传播到span元素。
我的表单如下:
<tbody data-bind='foreach: gifts'>
<tr>
<td>
<input class='required' data-bind='value: name, uniqueName: true' />
<span data-bind='text: name' > </span>
</td>
</tr>
</tbody>
您可以在jsFiddle
上试用答案 0 :(得分:1)
您的模型的name
和price
需要是可观察的。
所以不是你的:
var viewModel = new GiftModel([
{ name: "Tall Hat", price: "39.95"},
{ name: "Long Cloak", price: "120.00"}
]);
这样做:
var viewModel = new GiftModel([
new Item("Tall Hat", "39.95"),
new Item("Long Cloak", "120.00") ]);
其中Items如下:
var Item = function(pName, pPrice) {
var self = this;
self.name = ko.observable(pName);
self.price = ko.observable(pPrice);
};
以下是一个有效的例子:http://jsfiddle.net/D2agq/