1

我正在尝试计算视图模型中的第三个字段。我知道这不是方法,但只是给出了以下代码片段。请帮忙

$.ajax({
    type: "GET",
    url: '/ASPNET/GetGroups',
    dataType: "json",
    success: function (data) {
        var viewModel = {
            advisorGroup: ko.observableArray(data)
        };
        viewModel.advisorGroup.label = ko.computed(function () {
            return self.code + ' (' + self.cls+')';
        });
        alert(JSON.stringify(viewModel));
        ko.applyBindings(viewModel);
    }
})


<input type="checkbox" data-bind="attr: { value: code, id: code }" name="GroupsSel" checked="checked">
<label data-bind="attr: { for: code }, text: label "></label>
4

1 回答 1

1

尝试这个。

success: function (data) {
    ko.utils.arrayForEach(data, function(item){
        item.label = ko.computed(function () {
            return item.code + ' (' + item.cls + ')';
        });
    });
    //..........
}

小提琴:http: //jsfiddle.net/8WqQu/1/

或者正如安德斯所说,你可以简单地做到这一点。

success: function (data) {
    ko.utils.arrayForEach(data, function(item){
        item.label = item.code + ' (' + item.cls + ')';
    });
    //..........
}

小提琴:http: //jsfiddle.net/8WqQu/2/

于 2013-11-12T13:52:24.327 回答