我有一个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