jqgrid设置搜索工具栏触发器的等待时间

jqgrid设置搜索工具栏触发器的等待时间,jqgrid,Jqgrid,我有一个包含一些数据的JQgrid,并且启用了工具栏搜索选项。我想知道是否有办法告诉工具栏在输入最后一个字符后2秒或3秒触发,或者在用户按enter键时触发。在文档wiki中搜索没有结果。有什么想法吗?在colModel中,您可以将searchoptions设置为自定义函数 例: 然后,如果(e.keyCode==13){SearchFunction()},则可以构建事件处理程序,以在一段时间后或在按下enter键时触发搜索,每次按键时,您也需要重置计时器。这不是解决方案的完整代码,但这应该是正

我有一个包含一些数据的JQgrid,并且启用了工具栏搜索选项。我想知道是否有办法告诉工具栏在输入最后一个字符后2秒或3秒触发,或者在用户按enter键时触发。在文档wiki中搜索没有结果。有什么想法吗?

在colModel中,您可以将searchoptions设置为自定义函数 例:


然后,如果(e.keyCode==13){SearchFunction()},则可以构建事件处理程序,以在一段时间后或在按下enter键时触发搜索,每次按键时,您也需要重置计时器。这不是解决方案的完整代码,但这应该是正确的路径。我个人使用它来为搜索工具栏构建自动完成功能(这可能比我心目中的定时搜索更好)

在colModel中,您可以将搜索选项设置为自定义功能 例:


然后,如果(e.keyCode==13){SearchFunction()},则可以构建事件处理程序,以在一段时间后或在按下enter键时触发搜索,每次按键时,您也需要重置计时器。这不是解决方案的完整代码,但这应该是正确的路径。我个人使用它为搜索工具栏构建一个自动完成(这可能比我心目中的定时搜索更好)

如果您检查jqGrid的代码,该代码将在使用情况下使用
searchOneNoter:false
选项(请参见)您将看不到管理超时的选项,在超时之后搜索将自动启动。超时时间始终为500毫秒(半秒)。因此,如果需要另一个超时,则必须在自定义代码中实现相同的行为。您可以注册自己的
keydown
处理程序,该处理程序的作用与
searchOnEnter:false
选项do相同,但需要另一个超时。比如说

var$grid=$(“#grid”),hTimeout;
$grid.jqGrid('filterToolbar',{defaultSearch:'cn',stringResult:true});
$grid.closest(“.ui jqgrid视图”)
.find(“>.ui jqgrid hdiv.ui搜索工具栏th输入”)
.keydown(功能(e){
var uiKeyCode=$.ui.keyCode,
keyCode=e.keyCode | | e.which;
if(keyCode==uiKeyCode.ENTER){
返回false;
}
如果(keyCode==uiKeyCode.PAGE|u向上| keyCode==uiKeyCode.PAGE|u向下||
keyCode==uiKeyCode.END | | keyCode===uiKeyCode.HOME||
keyCode==uiKeyCode.UP | | keyCode===uiKeyCode.DOWN||
keyCode==uiKeyCode.LEFT | | keyCode==uiKeyCode.RIGHT){
返回;
}
如果(hTimeout){
清除超时(hTimeout);
}
hTimeout=setTimeout(函数(){
$grid[0]。triggerToolbar();
hTimeout=未定义;
},3000);//以3秒超时开始搜索
});

请参阅。

如果您检查jqGrid的代码,该代码将在使用情况下使用
searchOneNoter:false
选项(请参阅),您将看不到管理超时的选项,在超时后搜索将自动启动。超时时间始终为500毫秒(半秒)。因此,如果需要另一个超时,则必须在自定义代码中实现相同的行为。您可以注册自己的
keydown
处理程序,该处理程序的作用与
searchOnEnter:false
选项do相同,但需要另一个超时。比如说

var$grid=$(“#grid”),hTimeout;
$grid.jqGrid('filterToolbar',{defaultSearch:'cn',stringResult:true});
$grid.closest(“.ui jqgrid视图”)
.find(“>.ui jqgrid hdiv.ui搜索工具栏th输入”)
.keydown(功能(e){
var uiKeyCode=$.ui.keyCode,
keyCode=e.keyCode | | e.which;
if(keyCode==uiKeyCode.ENTER){
返回false;
}
如果(keyCode==uiKeyCode.PAGE|u向上| keyCode==uiKeyCode.PAGE|u向下||
keyCode==uiKeyCode.END | | keyCode===uiKeyCode.HOME||
keyCode==uiKeyCode.UP | | keyCode===uiKeyCode.DOWN||
keyCode==uiKeyCode.LEFT | | keyCode==uiKeyCode.RIGHT){
返回;
}
如果(hTimeout){
清除超时(hTimeout);
}
hTimeout=setTimeout(函数(){
$grid[0]。triggerToolbar();
hTimeout=未定义;
},3000);//以3秒超时开始搜索
});

searchoptions: {dataInit: function (elem) { AutoOrAfterEnterSearch(elem) }} ...