jqgrid не перезагружается после выполнения ajax-вызова с использованием триггера ('reload') - PullRequest
4 голосов
/ 20 сентября 2010

Я пытаюсь перезагрузить сетку новыми данными, которые только что были изменены, чтобы пользователь мог видеть новые данные с модификацией.

мой подход:

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 Ответ

4 голосов
/ 21 сентября 2010

То, что я вижу здесь, это вызов Ajax для публикации и еще один для перезагрузки сетки.Проблема в том, какой вызов 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'); 
     }
  }); 
});  
...