刷新按钮调用javascript函数

时间:2015-03-23 16:30:33

标签: javascript jquery jquery-ui jqgrid refresh

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

2 个答案:

答案 0 :(得分:2)

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

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

因此,如果您可以beforeRefresh使用navGrid回调重置datatype

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

如果您使用free jqGrid,则可以使用fromServer: true的新reloadGrid选项,并且可以使用reloadGridOptionsnavGrid $("#grid").jqGrid({ // standard jqGrid options navOptions: { // default options of navGrid reloadGridOptions: {fromServer: true} } }).jqGrid("navGrid"); 选项}。代码就像

datatype:"json"

它适用于datatype:"xml"或{{1}}。

答案 1 :(得分:1)

一个简单的修复:

loadonce: false

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