knockout.js ライブラリを使用して MVC4 で記述した JSON 応答からデータを取得しようとしています。これら 3 つの領域にデータを入力する必要があります。最初の領域は複数選択ボックスです。私はオンラインの例と参照、およびここにリンクされているフィドラーを見てきましたが、役に立ちませんでした。私が問題を抱えている領域は、arrayOne リストで選択された各項目について得られるすべてのデータを arrayTwo およびグリッド配列に取り込むことです。
function viewModel() {
this.arrayOne = ko.observableArray();
this.chosenarrayOne = ko.observableArray();
this.arrayTwo = ko.observableArray();
this.gridArray = ko.observableArray();
this.chosenarrayTwo = ko.observableArray();
this.chosenarrayOne.subscribe(function (nIds) {
mvvm.arrayTwo(undefined);
mvvm.gridArray(undefined);
var nDx;
if (nIds != null) {
for (nDx = 0; nDx < nIds.length; nDx++) {
$.ajax({
url: '{Working URL Omitted}',
data: { nValue: arrayOne[nDx] },
type: 'GET',
success: function (data) {
mvvm.arrayTwo(data);
},
error: function () {
alert('Array Two ajax error');
}
});
$.ajax({
url: '{Working URL Omitted}',
type: 'GET',
data: { nValue: nIds[nDx] },
success: function (data) {
// Example of what I would like to happen, however I get nothing back
mvvm.gridArray.arrayPushAll(data);
//mvvm.gridArray(data);
},
error: function () {
alert('Grid Array ajax error');
}
});
}
}
}, this);
}
var mvvm = new viewModel();
ko.applyBindings(mvvm);
$.ajax({
url: '{Working URL Omitted}',
type: 'GET',
success: function (data) {
mvvm.arrayOne(data);
},
error: function () {
alert('Array One ajax call error');
}
});
何が返ってくるかを確認するためにレスポンスをjsonしてみましたが、配列形式の値が返ってきました。ただし、arrayOne 変数に複数の要素がある場合、何も返されません。