答案 0 :(得分:1)
您问题的答案取决于您希望如何使用这些信息。如果您希望调用回调函数,可以将beforeShowSearch与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
函数将在主事件处理程序后被称为,因此搜索请求或重置请求是已经发送。如果您需要在搜索之前信息,或重置beforeRequest
请求的使用情况,那么我似乎非常好。如果您需要搜索规则,可以使用$("#list").jqGrid('getGridParam','postData')
或$("#list")[0].p.postData
。 postData
有searchField
,searchOper
和searchString
(如果是Single Searching)或filters
(如果Advanced Searching)组。如果是“重置”,则参数为空:“”。
答案 1 :(得分:0)
作为解决方法,我们正在使用beforeRequest
网格事件。
如果没有执行搜索,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);
}
},