我有一個PHP腳本來處理許多不同jqGrid的AJAX請求。jqGrid:將loadonce作爲參數添加到AJAX請求中
我使用'sidx'和'sord'參數生成「ORDER BY」語句,並使用'page'和'rows'參數生成「LIMIT」語句。
類似於PHP示例here。
問題是,在PHP腳本中,我無法確定當前jqGrid的loadonce參數是否設置。 但是,只有當它沒有設置,我必須過濾返回的數據(頁和行限制)。
我該如何強制jqGrid發送額外的參數? 我不想改變我所有的網格。有沒有全球性的做法?
------編輯------
$.extend($.jgrid.defaults, {
postData: {
loadingType: function() {
var isLoadonce = $("#list1").jqGrid('getGridParam', 'loadonce');
console.log('isLoadonce: ' + isLoadonce);
return isLoadonce ? 'loadAll' : 'loadChunk';
},
},
});
這可以工作,如果網格的ID爲「list1」。如何在沒有ID的情況下引用當前網格?
------ EDIT 2 ------
這似乎是工作。它看起來有點像黑客。有沒有更好的辦法?
$.extend($.jgrid.defaults, {
serializeGridData: function(postData) {
var isLoadonce = $(this).jqGrid('getGridParam', 'loadonce');
var newPostData = $.extend(postData, {
loadingType: isLoadonce ? 'loadAll' : 'loadChunk'
});
return $.param(newPostData);
},
});
你能否提供一個jsfiddle的問題? –
@ Floradu88我不知道我能在jsFiddle中展示給你什麼。我的問題不是網格無法正常工作。但我想知道是否有方法來擴展網格的ajax請求。 – Stahlkocher