Я новичок, когда дело доходит до javascript. Я использую плагин jsGrid для отображения сетки в браузере. Заголовки столбцов сетки будут иметь значения «Request Status» и «Request Id». Я могу заставить его работать со статическими данными.jsGrid plugin - Как фильтровать с помощью удаленных данных?
(function() {
var adminDashboardController = {
loadData: function(filter) {
return $.grep(this.requests, function(request) {
return (!filter.Status || request.Status === filter.Status)
&& (!filter.RequestId || request.RequestId.indexOf(filter.RequestId) > -1)
});
},
insertItem: function(insertingReq) {
},
updateItem: function(updatingReq) {
},
deleteItem: function(deletingReq) {
}
};
window.adminDashboardController = adminDashboardController;
adminDashboardController.status = [
{ Name: ""},
{ Name: "Requested"},
{ Name: "Declined"}
];
//This is the static data
adminDashboardController.requests = [
{ "Status": "Requested", "RequestId": "1"},
{ "Status": "Declined", "RequestId": "2"}
];
}());
Но когда дело доходит до извлечения данных из вызова Ajax (с помощью файла JSON для тестирования в качестве источника данных), данные больше не фильтруется, когда я выбираю «запрашиваемое» или «Отклонено», как критерий фильтрации. Я использую формат, указанный в документации, такой как:
(function() {
var adminDashboardController = {
loadData: function (filter) {
return $.ajax({
type: "GET",
dataType: "json",
url: "/json/db514.json",
data: filter
});
},
insertItem: function(insertingReq) {
},
updateItem: function(updatingReq) {
},
deleteItem: function(deletingReq) {
}
};
adminDashboardController.status = [
{ Name: ""},
{ Name: "Requested"},
{ Name: "Declined"}
];
}());
Я не могу понять, как реализовать фильтрацию в этом случае!