【问题标题】:jqgrid does not submit reset page value on triggering reloadjqgrid 在触发重新加载时不提交重置页面值
【发布时间】:2012-01-19 13:22:46
【问题描述】:

我在按钮单击时触发 jqgrid 重新加载,并将页面值重置为“1”以使我的分页正常工作。但是 jqgrid 提交网格中存在的值(如果在第 2 页上它发送一个值 '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,
        .....
  });
});

当第一次加载网格时,我的 url 是 page.html,但是当用户选择一些行并单击删除时,我正在将 url 更改为带有选定行的 delete.html。删除功能删除选定的行并将最新数据发送回网格。现在如果我点击刷新,它仍然会删除.html,因为我的 url 没有改变。此外,如果用户在刷新前选择了几行,则选定的行数据将被删除,因为 url 没有更改...

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

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

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

    【讨论】:

    • Oleg:感谢您的解决方案,我使用 setGridParam() 将页面值发送为“1”,这解决了我的问题。关于发送以前的搜索数据,例如,如果单击按钮将网格 URL 更改为 /deleteData,一段时间后如果我单击刷新网格,它将转到更改后的 URL,而不是 /getData 的网格 URL。我想我需要在 loadComplete() 之后重置 URL 值。只是想知道哪个是最好的地方。请给我建议。谢谢!
    • @varaprakash:不客气!我很难回答您的最后一个问题,因为您没有发布#form 形式的 HTML 代码,也没有发布任何$('#form').serialize() 的示例。在大多数情况下,您根本不需要更改 url。您可以改用postData 的一些自定义属性。 /deleteData 这样的 URL 听起来特别奇怪。可能您应该使用editdataurl 编辑参数。不知道你用的是什么编辑模式。
    • 奥列格:谢谢。我用细节更新了我的问题。我没有使用 editData 功能,它只是网格外的一个按钮,我希望这样。
    • @varaprakash:对不起,但我仍然不完全明白你在做什么。您使用表单编辑吗? delGridRow 方法可用于向服务器发送 POST(或其他 HTTP 命令)请求,并带有应删除的行的 ID。然后reloadGrid 将默认完成,网格中的数据将刷新。通常使用navGrid 在网格的寻呼机部分添加删除按钮。
    • 奥列格:谢谢。正如我提到的,我没有使用 navGrid 功能来删除或编辑。我有一些自定义功能,例如确认选定的行、删除、转发,我认为将这些按钮放在网格之外会更好。我有一个解决方案来解决这个问题。而不是默认的刷新图标,我使用 navButtonAdd 进行刷新,点击它我将 url 更改回 page.html...
    猜你喜欢
    • 1970-01-01
    • 2015-08-11
    • 2013-01-18
    • 1970-01-01
    • 2016-02-02
    • 2019-11-26
    • 2017-06-26
    • 2014-09-20
    • 2017-02-03
    相关资源
    最近更新 更多