Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery jqGrid-确定是否在搜索窗口中单击“查找”或“重置”?_Jquery_Search_Callback_Jqgrid - Fatal编程技术网

Jquery jqGrid-确定是否在搜索窗口中单击“查找”或“重置”?

Jquery jqGrid-确定是否在搜索窗口中单击“查找”或“重置”?,jquery,search,callback,jqgrid,Jquery,Search,Callback,Jqgrid,我们正在使用jqGrid。。如何确定用户是否单击了搜索、重置或关闭了搜索窗口 有一个onClose事件,但它似乎没有任何指示操作的参数 ?作为一种解决方法,我们使用了请求前网格事件 如果未执行搜索,f变量将为false,否则为true: beforeRequest: function() { var m = $("#status-header").is(":visible"); var f = $("#list").getPostDataItem('_search');

我们正在使用jqGrid。。如何确定用户是否单击了搜索、重置或关闭了搜索窗口

有一个
onClose
事件,但它似乎没有任何指示操作的参数


作为一种解决方法,我们使用了
请求前
网格事件

如果未执行搜索,
f
变量将为false,否则为true:

beforeRequest: function() {
    var m = $("#status-header").is(":visible");
    var f = $("#list").getPostDataItem('_search');

    if ((m && !f) || (!m && f)) {
            $("#status-header").toggle('highlight',{},500);
    }       
},

作为一种解决方法,我们使用
beforeRequest
grid事件

如果未执行搜索,
f
变量将为false,否则为true:

beforeRequest: function() {
    var m = $("#status-header").is(":visible");
    var f = $("#list").getPostDataItem('_search');

    if ((m && !f) || (!m && f)) {
            $("#status-header").toggle('highlight',{},500);
    }       
},

你问题的答案取决于你想如何使用这些信息。如果希望调用回调函数,可以与
onClose
一起使用:

$("#list").jqGrid('navGrid', '#pager',
    {edit: false, add: false, del: false, search: true, refresh: true},// options
    {}, // settings for edit
    {}, // settings for add
    {}, // settings for delete
    {beforeShowSearch: function(form){
        $('.ui-search',form).click(function(){
            alert("in onSearch");
        });
        $('.ui-reset',form).click(function(){
            alert("in onReset");
        });
     },onClose: function(data){
            alert("in onClose");
     }
    } // search options
);

您应该考虑到,您的
onSearch
onReset
函数将在主事件处理程序之后调用,因此已发送搜索请求或重置请求。如果您需要在之前获得信息,则在请求之前搜索或重置的用法请求似乎非常好。如果需要搜索规则,可以使用
$(“#list”).jqGrid('getGridParam','postData')
或只使用
$(“#list”)[0].p.postData
postData
设置了
searchField
searchOper
searchString
(如果是)或
过滤器。在“重置”的情况下,参数为空:“。

问题的答案取决于您希望如何使用信息。如果希望调用回调函数,可以与
onClose
一起使用:

$("#list").jqGrid('navGrid', '#pager',
    {edit: false, add: false, del: false, search: true, refresh: true},// options
    {}, // settings for edit
    {}, // settings for add
    {}, // settings for delete
    {beforeShowSearch: function(form){
        $('.ui-search',form).click(function(){
            alert("in onSearch");
        });
        $('.ui-reset',form).click(function(){
            alert("in onReset");
        });
     },onClose: function(data){
            alert("in onClose");
     }
    } // search options
);

您应该考虑到,您的
onSearch
onReset
函数将在主事件处理程序之后调用,因此已发送搜索请求或重置请求。如果您需要在之前获得信息,则在请求之前搜索或重置
的用法请求似乎非常好。如果需要搜索规则,可以使用
$(“#list”).jqGrid('getGridParam','postData')
或只使用
$(“#list”)[0].p.postData
postData
设置了
searchField
searchOper
searchString
(如果是)或
过滤器。在“重置”的情况下,参数为空:“。

谢谢Oleg-好的选项。我想我可能会在请求之前使用
实现-我们拭目以待..谢谢Oleg-很好的选择。我想我可能会在请求之前使用
实现-我们拭目以待。。