使用trigger('reload')进行ajax调用后jqgrid没有重新加载

时间:2010-09-20 19:49:44

标签: jquery ajax jqgrid reload

我正在尝试使用刚更改的新数据重新加载网格,以便用户可以通过修改查看新数据。

我的方法:

jQuery("#relCasePick").click( function(){

   var ids=jQuery("#list10").jqGrid('getGridParam','selarrrow');

   $.ajax({
      type: "POST",
      url: "/cpsb/unprocessedOrders.do?method=releaseToCasePick&orderNumbers="+ids,
      data: JSON.stringify(ids), 
      dataType: "json"
   });

   jQuery("#list10").setGridParam({rowNum:10,datatype:"json"}).trigger('reloadGrid');
}); 

当我点击此按钮时..我正在正确地发送数据但是当我重新加载它没有更新新数据时......如果有人可以提供帮助,我将非常感激..

1 个答案:

答案 0 :(得分:4)

我在这里看到的是一个Ajax调用post和另一个重新加载网格。这里的问题是哪个ajax调用会先完成?你不知道。您最好的选择是在Ajax帖子中使用成功回调函数。当且仅当帖子成功时,这将重新加载网格。

jQuery("#relCasePick").click( function(){ 

  var ids =jQuery("#list10").jqGrid('getGridParam','selarrrow'); 

   $.ajax({ 
     type: "POST", 
     url: "/cpsb/unprocessedOrders.do?method=releaseToCasePick&orderNumbers="+ids, 
     data: JSON.stringify(ids),  
     dataType: "json",
     success: function(data) {
       jQuery("#list10").setGridParam({rowNum:10,datatype:"json" }).trigger('reloadGrid'); 
     }
  }); 
});