我有这个简单的功能
function createGrid(limit){ $("#list").trigger("reloadGrid"); $("#list").jqGrid({ url:indexObj.gridUrl,postData:{ "limit":limit },datatype: "json",colNames:['ID','type','folder','Description'],colModel:[ {name:'id',index:'id',width:50},{name:'type',index:'type',width:100},{name:'folder_id',index:'folder_id',{name:'description',index:'description',width:200} ] }); }
我首先使用limit = 1调用它,然后调用服务器并返回正确的数据.
然后我用limit = 2调用它,它只是重新运行前一个ajax调用(limit = 1)并返回相同的数据.
为什么postData实际上没有改变?我在fireBug中看到“限制”确实具有正确的值.
解决方法
或者在重新加载时,您可以使用setGridParam重置postData,
$("#list").jqGrid('setGridParam',{ postData: {"limit":limit } }).trigger('reloadGrid');
并且,您不需要重新初始化/创建jqGrid,但您可以简单地使用:
function createGrid(limit){ $("#list").trigger("reloadGrid"); #Code Goes here# }