2016-04-05 23 views
1

我在頁面上有幾個jqgrid ..現在我想在我更新任何一個記錄後重新加載兩個jqgrid。如何在頁面中的任何更改後在頁面上重新加載所有jqgrid

這裏是我的身體..

<div style="position: relative; top: 40px; width:50%"> 
     <table id="list"><tr><td></td></tr></table> 
     <div id="pager"></div> 
    </div> 

    <div style="position: relative; top: -250px; left:50%;"> 
     <table id="list1"><tr><td></td></tr></table> 
     <div id="pager1"></div> 
    </div> 

這裏是腳本後,提交第一份jqGrid的功能...

afterSubmit:功能(響應,POSTDATA)

     { 

          if (response.responseText === "OK") 
          { 
           alert("Update is succefully"); 

           alert(this); 
           $(this).jqGrid("setGridParam", {datatype: 'json'}); 
           return [true, "", ""]; 

           alert("#list1"); 
           $("#list1").jqGrid("setGridParam", {datatype: 'json'}); 
           return [true, "", ""]; 
           // $(this).trigger('reloadGrid'); 

          } 
          else { 
           alert("Update failed"); 
           return [true, "", ""]; 
          } 
         } 

現在使用這段代碼我的第一個jqgrid確實會在更新數據後重新加載,並顯示更新的數據在該jqgrid中,但是第二個擁有id#list1的jqgrid不會被重新加載/刷新。我該如何操作Ac請問這個?

+0

現在在這裏當我使用警報(本)它顯示[對象HtmlTableElement] ..however警報(「#列表1」),它顯示的翻譯: – Saurabh507

回答

1

目前尚不清楚您的意思究竟發生了哪些變化。如果使用free jqGrid分支,則建議從服務器重新加載網格的方式(如果它具有loadonce: true選項)將使用.trigger("reloadGrid", {fromServer: true})$("#list").trigger("reloadGrid", [{fromServer: true, current: true, page: 1}]);(請參閱the answerthis one)。因此,你可以做到以下幾點:

$(".ui-jqgrid-btable").trigger("reloadGrid", {fromServer: true}); 

如果您需要觸發像afterSubmit那麼一些回調的內部電網,我建議你包裹在setTimeout上面的代碼,允許前完成afterSubmit的處理重裝電網的重載:

afterSubmit: function() { 
    setTimeout(function() { 
     $(".ui-jqgrid-btable").trigger("reloadGrid", {fromServer: true}); 
    }, 50); 
    return [true, "", ""]; 
} 
+0

是的,我使用免費jqGrid,它有loadonce:true,但是這個$(「#list1」)。trigger(「reloadGrid」,{fromServer:true});不起作用。這只是第二個jqgrid,不重新加載我的第一個網格重新加載這個代碼... $(this).jqGrid(「setGridParam」,{datatype:'json'}); return [true,「」,「」]; – Saurabh507

+0

@ Saurabh507:你確定你使用免費的jqGrid嗎?您使用哪個版本的免費jqGrid? (你需要打開'jquery.jqgrid.src.js'或'jquery.jqgrid.min.js',並在開始的註釋中看到文件:** jqGrid 4.13.1 - free jqGrid **)。我建議從GitHub [here](https://github.com/free-jqgrid/jqGrid)加載最新版本,或者從CDN使用它:請參閱[wiki文章](https://github.com/free -jqgrid/jqGrid的/維基/接入免費的jqGrid從 - 不同-的CDN)。 – Oleg

相關問題