Knockout从observableArray获取对象

时间:2014-05-02 08:30:17

标签: 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;
    });

1 个答案:

答案 0 :(得分:2)

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

<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/