如何在 jqgrid 高级搜索窗口中启用输入 [英] how to enable enter in jqgrid advanced search window
问题描述
按下 jqgrid 工具栏中的搜索按钮打开高级搜索窗口.按回车键不会开始搜索.要开始搜索,需要点击搜索按钮.
Pressing search button in jqgrid toolbar opens advanced search window. Pressing enter key does not start seach. To start search, search button needs to be clicked.
如何允许按回车键开始搜索,就像点击搜索按钮一样?
How to allow enter key press to start search like in clicking in search button ?
推荐答案
要实现对 Enter 键的搜索,必须将 keydown
事件绑定到任何输入字段和强制搜索 Enter.如果您包含 jQuery UI jquery-ui.min.js
那么您可以使用 $.ui.keyCode.ENTER
而不是 13 以提高代码的可读性.
To implement search on Enter key one have to implement binding to keydown
event to any input fields and force searching on Enter. If you include jQuery UI jquery-ui.min.js
then you can use $.ui.keyCode.ENTER
instead of 13 for the better readability of the code.
代码可以这样
$.extend($.jgrid.search, {
// ... some other default which you use
afterRedraw: function (p) {
var $form = $(this), formId = this.id, // fbox_list
bindKeydown = function () {
$form.find("td.data>.input-elm").keydown(function (e) {
if (e.which === $.ui.keyCode.ENTER) {
$(e.target).change();
$("#" + $.jgrid.jqID(formId) + "_search").click();
}
});
},
oldOnChange = p.onChange,
myOnChange = function (param) {
var $input = $form.find("td.data>.input-elm"), events;
oldOnChange.call(this, param);
if ($input.length > 0) {
events = $._data($input[0], "events");
if (events && !events.keydown) {
bindKeydown();
}
}
};
p.onChange = myOnChange;
bindKeydown.call(this);
}
});
演示现场演示代码.
这篇关于如何在 jqgrid 高级搜索窗口中启用输入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!