问题描述
||
这是此问题的后续措施是否可能使jqGrid搜索框停留在页面上?
如果以正常方式弹出搜索框然后将其关闭然后在回车键上进行格网搜索,我找到了说明,但是,如果搜索表单始终可见,是否可以使回车键触发搜索?
在我们中间编辑文字,请问我该如何去做?
解决方法
你有可能。我想您仍然使用jqGrid 3.8.2。因此,我将在答案中使用该版本。
您可以在答案中找到解决方案的主要思想。为了更加小心,应该稍微扩展“ 0”的代码:
beforeShowSearch: function($form) {
// because beforeShowSearch will be called on all open Search Dialog,// but the old dialog can be only hidden and not destroyed
// we test whether we already bound the \'keydown\' event
var events = $(\'.vdata\',$form).data(\'events\'),event;
for (event in events) {
if (events.hasOwnProperty(event) && event === \'keydown\') {
return;
}
}
$(\'.vdata\',$form).keydown( function( e ) {
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
if (e.which == 13) { // save
//$(\".ui-search\",$form).click();
grid[0].SearchFilter.search();
}
});
}
这种方式适用于高级搜索对话框(请参阅演示)和始终位于网格上方的对话框(请参见另一个演示)。
更新:从jQuery 1.8开始,应该使用$._data($(\'.vdata\',$form)[0],\'events\');
而不是$(\'.vdata\',$form).data(\'events\')
来获取网格中所有事件的列表。