我正在使用最優秀的jqGrid插件,並通過搜索在本網站上找到了很多幫助,但我發現了一個我無法解決的問題,或找到解決方案。這將是我在這裏的第一篇文章。jqGrid高級搜索'beforeSearch'選項?
我正在使用filterToolbar來執行一些搜索我的網格。由於我需要與後端進行交互,我無法使用jqGrid提供的過濾器,而是需要在提交之前攔截搜索並修改postdata。我這樣做與filterToolbar選項「beforeSearch」是這樣的:
$("#SC_grid").jqGrid('filterToolbar', {stringResult: true, searchOnEnter: true, defaultSearch : "cn", beforeSearch: function() {
var postData = $("#SC_grid").jqGrid('getGridParam','postData');
var newPostData = '1=1';
var searchData = jQuery.parseJSON(postData.filters);
for (var iRule=0; iRule<searchData.rules.length; iRule++) {
newPostData = newPostData + " AND " + searchData.rules[iRule].field + " LIKE '%" + searchData.rules[iRule].data + "%' ";
}
$("#SC_grid").jqGrid('setGridParam',{postData: { filter: newPostData, filters: ''} });
return false;
}});
這個偉大的工程,我在提交前建立我選擇的一部分。 我也想用相同的方式使用高級搜索,但無法弄清楚如何在提交之前攔截POST。似乎沒有beforeSearch()選項可用,並且afterShowSearch或onClose選項沒有正確的時間。有關如何繼續的建議?
馬克
歡迎具有非常好的第一個問題。對於這個問題,我+1。在很短的時間內,我將嘗試描述解決問題的可能方法。稍後... – Oleg 2011-03-22 20:07:21