刷新按钮调用 javascript 函数

Refresh button to call javascript function

在一个页面中,我有一个表单和一个 JQGrid。该表格用于输入特定过滤器。因此,该页面的 Javascript 包含一个重新加载数据以填充 JQGrid 的函数。 JQGrid 有 loadonce: true,因此刷新按钮不执行任何操作。我需要让它调用我现有的函数。可能吗?

如果我理解正确,那么你的问题就存在了,因为 loadonce: true 选项将原来的 datatype"json""xml")更改为 "local"。它允许使用数据的本地分页、排序和过滤。在分页、过滤和排序的过程中会重新加载网格,所以局部重新加载是有意义的。

如果您需要从服务器重新加载网格,您应该首先恢复 datatype 原始 值,然后重新加载。

因此,如果您可以使用 navGridbeforeRefresh 回调来重置 datatype:

$("#grid").jqGrid("navGrid", "#pager", {
    beforeRefresh: function () {
        $(this).jqGrid("setGridParam", {datatype: "json"});
    }
});

如果您使用 free jqGrid then you can use new fromServer: true option of reloadGrid and you can use new style of optionsnavGrid 的新 reloadGridOptions 选项。代码会像

$("#grid").jqGrid({
    // standard jqGrid options
    navOptions: {
        // default options of navGrid
        reloadGridOptions: {fromServer: true}
    }
}).jqGrid("navGrid");

它将与 datatype:"json"datatype:"xml" 一起使用。

一个足够简单的修复:

loadonce: false

真的,将此设置为 true 将不会用于您指定的其他目的。