0

我有一個jqgrid預填充數據。單擊任何行將發送4個Ajax請求來獲取細節(4個jsp頁面被加載)。 3頁有新的jqgrids。jqgrid .trigger('reloadGrid');不適用於多個網格

我有第一個網格(jsp頁面)上的外部搜索和清除選項。它可以正常工作任何次數。但是一旦我用網格獲取其他頁面,搜索和清除就不起作用。當然腳本正在執行,但不是觸發器。

我確實看到了一些解決方案,但都無濟於事。

電網1:

<sjg:grid 
    autowidth="true" 
    id="assetgridtable" 
    caption="List of Assets" 
    dataType="json" 
    href="%{remoteurl}" 
    pager="true" 
    navigator="false" 
    navigatorSearch="false" 
    navigatorAdd="false" 
    navigatorEdit="false" 
    navigatorDelete="false" 
    navigatorView="false" 
    navigatorExtraButtons="{ 
    seperator: { 
      title : 'seperator' 
     } 
    }" 
    gridModel="gridModel" 
    rowList="10,15,20,30,50" 
    rowNum="15" 
    shrinkToFit="true" 
    viewrecords="true" 
    onSelectRowTopics="rowselect" 
    loadonce="false"> 

下面是rowselect認購代碼。

$.subscribe('rowselect', 
    function(event, data){ 
    var id = event.originalEvent.id; 
    $.ajax(
    { 
     type : 'GET', 
     url : "displayAsset.action", 
     cache : false, 
     data : 
     { 
      "id" : id 
     }, 
     success : function(result) 
     { 
      $("#dataassetshow").append('<div id="assetshow"></div>'); 
      $("#assetshow").html(result); 
      $("#assetshow").css(
      { 
       "text-align" : "center", 
      }).show("fast"); 
     } 
    }); 

我只顯示一個Ajax調用的,同樣3個電話是那裏獲取其他的網格。

現在的搜索代碼

$('#searchAsset').on('submit', function(event) 
{ 
    $("#assetgridtable").jqGrid('setGridParam', 
    { 
     type : 'GET', 
     url : "listAsset.action", 
     page : 1, 
     datatype : 'json', 
     cache : false, 
     gridview : true, 
     postData : 
     { 
      "search" : function() 
      { 
       return true; 
      }, 
      "searchText" : function() 
      { 
       return $('#searchText').val(); 
      }, 
      "option" : function() 
      { 
       return $('input[name=option]:checked').val(); 
      }, 
      "from" : function() 
      { 
       return $('#from').val(); 
      }, 
      "to" : function() 
      { 
       return $('#to').val(); 
      }, 

     }, 
    }).trigger('reloadGrid'); 
    event.preventDefault(); 
}); 

前面已經說明,上面的代碼工作正常,所有的時間,但是當其他網格是牽強,它不會觸發重裝!

回答

1

請勿使用trigger('reloadGrid')更好地使用重新加載主題。

<sjg:grid 
... 
reloadTopics="reloadMyGrid" 
... 
/> 

之後,你可以觸發重載定製這樣的javascript代碼:

$.publish("reloadMyGrid"); 

或通過點擊SJ:像

<sj:a ... onClickTopics="reloadMyGrid">Link</sj:a> 
+0

要嘗試這個鏈接。會讓你知道... –

+0

不,問題依然存在... –

+0

你怎麼試試它? – Johannes

相關問題