2011-12-13 58 views
2

我觸發jqgrid重新加載按鈕單擊,並且還將頁面值重置爲'1',以便我的分頁正常工作。但jqgrid提交網格中存在的值(如果在第二頁上它發送值爲'2'),它還發送一些額外的參數,這些參數是以前搜索的一部分。我該如何避免這種情況?jqgrid不會在觸發重新加載時提交重置頁面值

$('#delete').click(function() { 
    var rowIds = msgGrid.jqGrid('getGridParam','selarrrow'); 
    $('#grid').setGridParam({url:'delete.html?rowIds=' + rowIds, 
    page: '1' 
    }); 
    $('#userGrid').trigger("reloadGrid"); 
}); 

jQuery(function() { 
    jQuery("#grid").jqGrid({ 
    url:'page.html', 
    datatype: 'json', 
    mtype: 'POST', 
     ..... 
    postData: { 
     totalRecords: function() { return $('#grid').getGridParam("records"); } 
     }, 
    rowNum: 25, 
     ..... 
    }); 
}); 

當電網第一次加載我的網址是page.html中,但是當用戶選擇一些行和點擊刪除,我改變的URL與所選行delete.html。刪除功能刪除選定的行並將最新的數據發送回網格。現在,如果我點擊刷新,它仍然會delete.html,因爲我的網址沒有改變。此外,如果用戶選擇刷新前幾排,數據被刪除的網址,因此所選行沒有改變...

回答

2

您應該page: 1代替postData: { page: '1' }直接改變page(見here)或者只是使用的reloadGrid參數[{page:1}] (見here)。

您沒有編寫足夠的有關發送一些額外參數的信息,這些參數是之前搜索的一部分。如果使用loadonce:true參數,則必須將datatype參數重置爲其原始值(請參閱herehere)。

+0

Oleg:感謝您的解決方案,我使用setGridParam()發送頁面值爲'1',解決了我的問題。關於發送以前的搜索數據,例如在按鈕點擊時,如果將網格URL更改爲/ deleteData,並且一段時間後如果我點擊刷新網格,它將轉到更改的URL,而不是網格URL,它是/ getData。我想我需要在loadComplete()之後重置URL值。只是想知道哪個是最好的地方。請建議我。謝謝! – varaprakash 2012-01-19 19:51:51

相關問題