我在jqGrid之外有一些过滤器,可以触发网格重新加载。这篇文章让我很好地了解了如何使用postData选项实现它:How to filter the jqGrid data NOT using the built in search/filter box不幸的是,代码片段是片段,我不知道调用的整体顺序应该是什么。以下是我当前方法的简略视图:
<script>
$(document).ready(function() {
$("#submit").click(function(e) {
e.preventDefault();
myGrid.trigger('reloadGrid');
});
});
var url="${servicesUrl}/projects";
var myGrid = $("#projectList").jqGrid({
url: url,
datatype: 'json',
mtype: 'GET',
// ...
});
</script>我应该如何组织代码,以便每次单击Submit按钮都会触发网格重新加载?一旦我解决了这个问题,我相信我将能够添加posData部件,我的问题主要是整个调用序列的问题。我不确定ready()函数中应该包含哪些调用,以及如何正确调用“reloadGrid”。非常感谢您的帮助。
发布于 2013-06-26 22:34:11
这对我来说很有效:我在beforeRequest事件上设置了一个回调,它在每次请求之前更新postData属性。
注意,您需要将所有的jqGrid初始化代码放在$(document).ready(function(){});函数中,否则您的表元素可能还不在DOM中
var url="${servicesUrl}/projects";
$(document).ready(function() {
var $table = $("#projectList");
$table.jqGrid({
url: url,
datatype: 'json',
mtype: 'GET',
beforeRequest: function() {
var postData = $table.getGridParam('postData');
//add parameters to postData here
}
// ...
});
$("#submit").click(function(e) {
e.preventDefault();
$table.trigger('reloadGrid');
});
});https://stackoverflow.com/questions/17322817
复制相似问题