jqgrid在触发重新加载时不提交重置页面值

时间:2011-12-13 17:03:16

标签: jquery jqgrid

我在按钮点击时触发jqgrid重新加载,并且还将页面值重置为“1”以使我的分页正常工作。但是jqgrid提交网格中存在的值(如果在第二页上它发送值为'2),它还会发送一些附加参数,这些参数是之前搜索的一部分。我该怎么办?

$('#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,但是当用户选择某些行并点击“删除”时,我会将所选网址的网址更改为delete.html。删除功能删除选定的行并将最新数据发送回网格。现在,如果我点击刷新,它仍然会删除delete.html,因为我的网址没有更改。此外,如果用户在刷新之前选择了几行,则所选行数据将被删除,因为URL未更改...

1 个答案:

答案 0 :(得分:2)

您应该使用page而不是page: 1直接更改postData: { page: '1' }(请参阅here),或者只使用[{page:1}]的参数reloadGrid(见here)。

您没有写到有关发送一些其他参数的足够信息,这些参数是之前搜索的一部分。如果您使用loadonce:true参数,则必须将datatype参数重置为其原始值(请参阅herehere)。