如何启用在jqgrid高级搜索窗口中输入

And*_*rus 3 jqgrid free-jqgrid

按jqgrid工具栏中的搜索按钮可打开高级搜索窗口.按enter键不会开始搜索.要开始搜索,需要单击搜索按钮.

如何允许输入按键开始搜索,如点击搜索按钮?

Ole*_*leg 6

要在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);
    }
});
Run Code Online (Sandbox Code Playgroud)

该演示演示了代码.