我有一个 PHP 脚本来处理许多不同 jqGrid 的 AJAX 请求。
我生成带有“sidx”和“sord”参数的“ORDER BY”语句以及带有“page”和“rows”参数的“LIMIT”语句。
类似于此处的 PHP 示例。
问题是,在 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 的情况下引用当前 Grid?
------ 编辑 2 ------
这似乎有效。在我看来,它有点像黑客。有没有更好的办法?
$.extend($.jgrid.defaults, {
serializeGridData: function(postData) {
var isLoadonce = $(this).jqGrid('getGridParam', 'loadonce');
var newPostData = $.extend(postData, {
loadingType: isLoadonce ? 'loadAll' : 'loadChunk'
});
return $.param(newPostData);
},
});