2011-04-16 53 views
5

現在,我必須點擊jqGrid Search圖標才能彈出搜索框。我想要做的是讓搜索框始終在網格上方打開(而不是彈出窗口)。我在他們的演示中沒有看到任何東西,但希望有人做過或知道如何。可能使jqGrid搜索框停留在頁面上?

+0

大概[搜索工具欄(http://www.trirand.com/jqgridwiki/doku.php?id=wiki:toolbar_searching固定版本) 更好?你需要什麼樣的搜索?你使用4.0.0版本的jqGrid進行新樣式搜索嗎?一個人可以實現你想要的東西,但我不確定最後你的意思是另外一件事。在大多數情況下,我在網格中包括兩個搜索:搜索快速直觀搜索的工具欄和[高級搜索](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:advanced_searching)以構建更多複雜的濾鏡。 – Oleg 2011-04-16 17:35:52

+0

我們使用jqGrid 3.8.2高級搜索。工具欄搜索不會讓我們有相同的列的範圍(我不相信),否則,這可能是正確的路要走。 – 2011-04-16 17:45:09

回答

7

做你所需要的最簡單的方法是

var grid = $("#list"), 
    prmSearch = {multipleSearch:true,overlay:false}; 

grid.jqGrid({ 
    // all jqGrid parameters 
}); 

// next line is optional 
grid.jqGrid('navGrid','#pager', 
      {add:false,edit:false,del:false,search:true,refresh:true}, 
      {},{},{},prmSearch); 

// create the searching dialog 
grid.searchGrid(prmSearch); 

// find the div which contain the searching dialog 
var searchDialog = $("#fbox_"+grid[0].id); 

// make the searching dialog non-popup 
searchDialog.css({position:"relative", "z-index":"auto"}); 

你可以看到結果住here。爲了讓遠離邊境上的搜索對話框和電網,你還可以做到以下幾點:

searchDialog.addClass("ui-jqgrid ui-widget ui-widget-content ui-corner-all"); 
searchDialog.css({position:"relative", "z-index":"auto", float:"left"}) 
var gbox = $("#gbox_"+grid[0].id); 
gbox.before(searchDialog); 
gbox.css({clear:"left"}); 

它移動「gbox_list」 div的搜索對話框之外。

最終的解決方案,你可以看到here

+0

那麼在這種情況下'onSearch'不會被調用 – Hunt 2012-09-24 16:06:36

+0

@Hunt:我不確定你的意思。我的答案演示使用jqGrid 3.8.2。過濾模塊在*後全部重寫。所以如果你使用當前版本的jqGrid,你必須使用另一個代碼。例如從[這裏](http://stackoverflow.com/a/10131596/315935)。當前版本的jqGrid在搜索模塊中有更多更改。無論如何,如果你有'onSearch'沒有被調用的問題,你應該發佈URL到相應的演示。 – Oleg 2012-09-24 16:34:15

+0

我有一個4.4.5 jqGrid。我使用工具欄搜索以及彈出對話框。我已經稍微定製了在頂部標題區域的功能圖標,並且正在尋找如何從我的自定義圖標啓動fbox_搜索對話框。 – bkwdesign 2014-09-17 15:52:07

1

這是最簡單的方法,可以幫助某人使jq網格搜索框始終保持在頁面上(如彈出窗口),直到單擊關閉爲止。

$("#grid").searchGrid({ closeAfterSearch: false }); 
$("#grid").searchGrid({ closeOnEscape: false }); 
2

這是我的jqGrid> 4.3

var searchDialog = $("#searchmodfbox_"+grid[0].id);  
    searchDialog.addClass("ui-jqgrid ui-widget ui-widget-content ui-corner-all"); 
    searchDialog.css({position:"relative", "z-index":"auto", "float":"left"})  
    var gbox = $("#gbox_"+grid[0].id); 
    gbox.before(searchDialog); 
    gbox.css({clear:"left"});