jqGrid - 如何重置搜索选项?

Mar*_*eon 8 search jquery jqgrid

使用jqGrid多次搜索你怎么能以编程方式"清除"搜索选项?

"clear"应该确保没有filters被发送到服务器,并且GUI搜索框不包含任何搜索条件.

我们正在打电话trigger("reloadGrid").我们想clearSearchCrieria()在reloadGrid之前调用一个类型方法,这样就不会将no filters传递给服务器或显示在GUI搜索框中.

??

Jim*_*mbo 16

您可以使用以下方法:

function clearSearchOptions(){
    $("#list").jqGrid('setGridParam', { search: false, postData: { "filters": ""} }).trigger("reloadGrid");
}
Run Code Online (Sandbox Code Playgroud)

但正如Oleg指出的那样,recreateFilter:true如果你想要清除jqgrid搜索框,你将不得不在你的jqgrid定义中使用该选项.


Ole*_*leg 6

要重置过滤器,您可以postData直接修改jqGrid 的参数.您可以使用$("#list").jqGrid('getGridParam','postData')或访问它$("#list")[0].p.postData.如果设置了过滤器,则属性postData如下所示:

_search      true           Boolean
nd           1286296925096  Number
page         1              Number
rows         10             Number
searchField  "id"           String
searchOper   "lt"           String
searchString "5"            String
sidx         "id"           String
sord         "desc"         String
Run Code Online (Sandbox Code Playgroud)

要重置属性,您可以执行以下操作

var postdata = $("#list").jqGrid('getGridParam','postData');
postdata._search = false;
postdata.searchField = "";
postdata.searchOper = "";
postdata.searchString = "";
Run Code Online (Sandbox Code Playgroud)

如果使用高级搜索,而不是单一搜索,你应该明确filters产权,而不是searchField,searchOpersearchString.

最后,您可以调用$("#list").trigger("reloadGrid",[{page:1}]);重新加载网格包含从页码1开始.


Mar*_*ark 3

要单击“重置”按钮,请尝试:

$(".ui-reset").click();
Run Code Online (Sandbox Code Playgroud)