【发布时间】:2014-03-13 01:35:04
【问题描述】:
I have a computed function which doesn't update the UI when a select options change.但如果我添加或删除一行,效果很好。
这是 HTML:
<button data-bind="click: add">Add New</button>
<ul data-bind="foreach: items">
<li>
<label data-bind="text: name"></label>
<select data-bind="options: [1,2,3], value: val"> </select>
</li>
</ul>
TOTAL: <span data-bind="text: total"></span>
这是 JavaScritp:
function viewModel (initialItems) {
this.items = ko.observableArray(initialItems);
this.total = ko.computed(function () {
var total = 0;
for (var i = 0; i < this.items().length; i++)
total += this.items()[i].val;
return total;
}, this);
this.add = function() { this.items.push({name: "New", val: 1}); };
}
ko.applyBindings(new viewModel([{name: "Alpha", val: 2},
{name: "Beta", val: 3},
{name: "Gamma", val: 1}]));
这里是小提琴:http://jsfiddle.net/waUE4/
选择更改时如何获取模型更新?
感谢您的帮助。
编辑
【问题讨论】: