2011-04-16 12 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"});