刷新按钮调用 javascript 函数
Refresh button to call javascript function
在一个页面中,我有一个表单和一个 JQGrid。该表格用于输入特定过滤器。因此,该页面的 Javascript 包含一个重新加载数据以填充 JQGrid 的函数。 JQGrid 有 loadonce: true
,因此刷新按钮不执行任何操作。我需要让它调用我现有的函数。可能吗?
如果我理解正确,那么你的问题就存在了,因为 loadonce: true
选项将原来的 datatype
("json"
或 "xml"
)更改为 "local"
。它允许使用数据的本地分页、排序和过滤。在分页、过滤和排序的过程中会重新加载网格,所以局部重新加载是有意义的。
如果您需要从服务器重新加载网格,您应该首先恢复 datatype
的 原始 值,然后重新加载。
因此,如果您可以使用 navGrid
的 beforeRefresh
回调来重置 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 options 和 navGrid
的新 reloadGridOptions
选项。代码会像
$("#grid").jqGrid({
// standard jqGrid options
navOptions: {
// default options of navGrid
reloadGridOptions: {fromServer: true}
}
}).jqGrid("navGrid");
它将与 datatype:"json"
或 datatype:"xml"
一起使用。
一个足够简单的修复:
loadonce: false
真的,将此设置为 true 将不会用于您指定的其他目的。
在一个页面中,我有一个表单和一个 JQGrid。该表格用于输入特定过滤器。因此,该页面的 Javascript 包含一个重新加载数据以填充 JQGrid 的函数。 JQGrid 有 loadonce: true
,因此刷新按钮不执行任何操作。我需要让它调用我现有的函数。可能吗?
如果我理解正确,那么你的问题就存在了,因为 loadonce: true
选项将原来的 datatype
("json"
或 "xml"
)更改为 "local"
。它允许使用数据的本地分页、排序和过滤。在分页、过滤和排序的过程中会重新加载网格,所以局部重新加载是有意义的。
如果您需要从服务器重新加载网格,您应该首先恢复 datatype
的 原始 值,然后重新加载。
因此,如果您可以使用 navGrid
的 beforeRefresh
回调来重置 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 options 和 navGrid
的新 reloadGridOptions
选项。代码会像
$("#grid").jqGrid({
// standard jqGrid options
navOptions: {
// default options of navGrid
reloadGridOptions: {fromServer: true}
}
}).jqGrid("navGrid");
它将与 datatype:"json"
或 datatype:"xml"
一起使用。
一个足够简单的修复:
loadonce: false
真的,将此设置为 true 将不会用于您指定的其他目的。