3

我在我的单页 Web 应用程序中使用淘汰赛 js 进行数据绑定,我需要使用一个 json 对象填充下拉列表,该对象作为对服务器的 ajax 调用的响应返回。我在这里添加我的模型和 ajax 调用。请提出解决方案。

var permissionRequestModel = {
fromDate: ko.observable(''),
toDate: ko.observable(''),
fulldayPermission: ko.observable(false),

fromTimeHH: ko.observable(''),
fromTimeMM: ko.observable(''),
toTimeHH: ko.observable(''),
toTimeMM: ko.observable(''),

permissionTypeOne: ko.observable(''),
permissionTypeTwo: ko.observable(''),

approverList: ko.observableArray([]),

reasonLeave: ko.observable('')

};

//ajax call

$(function () {

$.ajax({
    url: "{generic uri}",
    type: "GET",
    contentType: "application/json",
    dataType: "json",
    error: function () {
        alert("failed");
    },
    success: function (data) {
             alert("Success");
    }
});
});

我需要用 json 响应填充 ApproverList (ko.observablearray)。

4

1 回答 1

3

使用Knockout Mapping 插件

approverList = ko.mapping.fromJS(data);

或者,如果您想更新已填充的视图模型:

success: function (data)
{
    ko.mapping.fromJS(data, approverList);
}
于 2013-01-31T11:20:16.393 回答