javascript - Knockout 从 observableArray 获取对象

标签 javascript knockout.js knockout-2.0

我的 Knockout 应用程序中有一个 observableArray,我想知道如何才能仅选择数组中的目标对象。

我有以下代码,用于计算数组中所有“值”的总和,但我希望能够仅选择数组中的第二个“值”。

self.csu_treatment_inputs = ko.observableArray([
                {
                    value: ko.observable(10),
                    image: ko.observable('')
                },
                {
                    value: ko.observable(120),
                    image: ko.observable('')
                },
                {
                    value: ko.observable(160),
                    image: ko.observable('')
                },

            ]);

self.totaltest = ko.computed(function () {
            var total = 0;
            ko.utils.arrayFilter(self.value_inputs(), function (item) {
                  total += parseFloat(ko.utils.unwrapObservable(item.value));
            });
            return total;
    });

最佳答案

要绑定(bind)到第二个值,请使用以下代码:

<span data-bind='text: csu_treatment_inputs()[1].value'></span>

示例: http://jsfiddle.net/v6T5T/

如果您想从 javascript 访问元素,请使用:

total+= parseFloat(self.test_values()[i].value());

示例:http://jsfiddle.net/v6T5T/2/

关于javascript - Knockout 从 observableArray 获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23423891/

相关文章:

javascript - T4MVC 对 TypeScript 的支持

ruby-on-rails-3 - 如何为knockoutjs在formattastic页面中数据绑定(bind)字段

asp.net-mvc - 如何将 knockout 组件 View 与父布局一起使用?

jquery - 如何使用phonegap在拨号框中分配电话号码?

javascript - jQuery.each() 在 Firefox 和 IE 中不起作用?

php - javascript 弹出窗口在一段时间后停止

jquery - knockout 列表与无序列表的绑定(bind)

javascript - knockoutjs 用逗号格式化数字

javascript - GridView JavaScript

javascript - 仅在最后一个索引处检查 foreach 中的 if 条件