敲除:绑定到同一可观察对象的几个 DOM 元素
Knockout: several DOM elements bound to same observable
如何将多个HTML输入字段绑定到同一个可观察量,使可观察量成为输入字段的总和?(输入字段将仅接受数字(
我知道我可以为每个输入字段使用 ko.observable 并使用 ko.computed 来计算输入字段的总和,但是当我要拥有任意数量的输入字段时,如何做到这一点?
-谢谢:)
如果您要拥有任意数量的输入字段,那么您可能会拥有某种"项目集合"。
让我们将这些项目称为ItemViewModel
它们将具有某种value
的位置以及存储它们的集合items
这将是一个ko.observableArray()
现在你只需要遍历ko.computed
中的集合,并汇总集合中项的value
属性,所以你需要这样的东西:
var ViewModel = function(){
var self = this;
self.items = ko.observableArray([]);
self.sum = ko.computed(function (){
var total = 0;
ko.utils.arrayForEach(self.items(), function(item){
var value = parseInt(item.value());
if (!isNaN(value))
total += value;
});
return total;
});
};
你可以在这个JSFiddle中玩这个。
相关文章:
- 在几个元素上模拟onclick事件
- 如何更改与Backbone集合中的模型相关联的几个元素的css属性
- 如何在其他几个元素中选择锚点
- 缩短几个元素的onclick代码 - JavaScript
- “功能上”生成一个仅包含几个元素的列表
- 使用 jquery 为每几个随机元素添加类
- 使用用户输入值从 DOM 中删除几个元素
- 几个元素上的一个事件
- 获取存储在几个HTML元素中的数据
- html5视频元素有任何错误?它不会在几个小时后继续播放内容
- 如何检查几个元素中是否存在一个
- 选择所有DOM元素,直到出现几个DOM元素中的一个为止
- 将几个jqueryui元素相互绑定
- 敲除:绑定到同一可观察对象的几个 DOM 元素
- jquery获取指定了几个类的元素的特定类名
- 使用setTimeout在X秒后隐藏几个元素
- 从DIV JavaScript中的几个元素更改ID和NAME
- Wordpress将鼠标悬停在链接上,几个元素发生了变化
- 使用javascript从位置检测几个元素
- 操纵几个元素的Angular JS指令