按 jqgrid 工具栏中的搜索按钮打开高级搜索窗口。按回车键不会开始搜索。要开始搜索,需要单击搜索按钮。
如何允许按输入键开始搜索,就像点击搜索按钮一样?
按 jqgrid 工具栏中的搜索按钮打开高级搜索窗口。按回车键不会开始搜索。要开始搜索,需要单击搜索按钮。
如何允许按输入键开始搜索,就像点击搜索按钮一样?
要实现对Enter键的搜索,必须将keydown
事件绑定到任何输入字段并强制搜索Enter。如果您包含 jQuery UI jquery-ui.min.js
,那么您可以使用$.ui.keyCode.ENTER
而不是 13 来提高代码的可读性。
代码可以像
$.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);
}
});
该演示现场演示了代码。