how to enable enter in jqgrid advanced search window

前端 未结 1 1526
夕颜
夕颜 2020-12-11 09:27

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.

相关标签:
1条回答
  • 2020-12-11 09:44

    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.

    The code can be like

    $.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);
        }
    });
    

    The demo demonstrate the code live.

    0 讨论(0)
提交回复
热议问题