2011-12-13 59 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

相关问题