Jquery 使数组中的所有属性都可见
我有一个从ajax请求返回的数组。我将这个数组绑定到敲除中的一个可观察数组。我想知道如何迭代数组Jquery 使数组中的所有属性都可见,jquery,knockout.js,Jquery,Knockout.js,我有一个从ajax请求返回的数组。我将这个数组绑定到敲除中的一个可观察数组。我想知道如何迭代数组prefixeData,并使每个元素的属性都可见。这可能吗 var viewModel = { name: "Editor", prefixeData: ko.observableArray([]), getPrefixes: function (prefix) {
prefixeData
,并使每个元素的属性都可见。这可能吗
var viewModel = {
name: "Editor",
prefixeData: ko.observableArray([]),
getPrefixes: function (prefix) {
var params = {
"prefix": prefix
};
$.ajax({
type: "POST",
url: "XXXX.aspx/GetPrefixes",
data: JSON.stringify(params),
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (data) {
var trans = data.d;
if (trans.Successful) {
viewModel.prefixeData(trans.ResultObject);
// this doesnt work
viewModel.prefixeData().forEach(function(data) {
data.LevelName=ko.observable(data.LevelName);
});
} else {
//todo
}
},
error: function (xhr, textStatus, err) {
alert("Status: " + textStatus); alert("Error: " + err);
}
});
}
};
你需要导入knockout.mapping 并编辑您的代码,如:
success: function (data) {
var trans = data.d;
if (trans.Successful) {
var observableArray = ko.mapping.fromJS(trans.ResultObject);
viewModel.prefixeData(observableArray());
//viewModel.prefixeData now is observableArray, you can call foreach : viewModel.prefixeData at html
} else {
//todo
}
},
使用额外的插件: