0
我試圖從JSON響應,我使用knockout.js庫在MVC4中寫入數據。我有三個需要填充的區域,第一個是多選框。我看過網上的例子以及參考資料,並在這裏鏈接小提琴,無濟於事。我遇到的問題是使用arrayOne列表中選中的每個項目的所有數據填充arrayTwo和grid數組。KO.utils.arrayPushAll添加新元素的選擇更改爲另一個選定的框和網格
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 var中有多個元素,則無法返回。