如何启用在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.
如何允许按Enter键开始搜索,就像单击搜索按钮一样?
How to allow enter key press to start search like in clicking in search button ?
推荐答案
要在 Enter 键上执行搜索,必须实现对keydown
事件的绑定到任何输入字段并强制在输入.如果包含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屋!