2010-10-05 12 views

回答

1

對你的問題的答案是取決於你想如何使用這些信息。如果你想你的回調函數將被調用,您可以用onClose一起使用beforeShowSearch

$("#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 
); 

你應該考慮,你onSearchonReset功能將被稱爲後的主要事件處理程序,所以請求搜索或重置請求已發送。如果您需要在之前獲得的信息,那麼搜索或重置beforeRequest請求的用法看起來非常好。如果你需要有搜索規則,你可以使用$("#list").jqGrid('getGridParam','postData')$("#list")[0].p.postDatapostData具有searchField,searchOpersearchString(在Single Searching的情況下)或filters(在Advanced Searching的情況下)。在「重置」的情況下,參數爲空:「」。

+0

感謝奧列格 - 不錯的選擇。想想我可能會用'beforeRequest'實現 - 我們會看到.. – 2010-10-05 16:20:49

0

作爲一種解決方法,我們正在使用beforeRequest網格事件。

f變量將是,如果沒有正在執行搜索假的,會是真實的,否則:

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

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