Jquery JQGrid搜索对话框:从下拉列表中选择列时,文本输入会调整大小

Jquery JQGrid搜索对话框:从下拉列表中选择列时,文本输入会调整大小,jquery,jqgrid,Jquery,Jqgrid,我正在使用jqGrid的搜索对话框,并根据此调整beforeShowSearch和afterRedraw事件中输入的文本大小 这在初始加载和重置时非常有效,但是,正如该帖子答案的注释中所述,当从列droplist中选择新值时,文本输入会将其宽度调整为默认值。在选择新的droplist项时,如何保持文本输入的宽度 我想出了一个解决办法。如果有人知道另一种方法,请提供帮助。下面是我所做的:我在droplist上附加了一个.change()函数。此函数用于设置文本框的宽度值,从而有效地将其保持在原位。

我正在使用jqGrid的搜索对话框,并根据此调整beforeShowSearch和afterRedraw事件中输入的文本大小


这在初始加载和重置时非常有效,但是,正如该帖子答案的注释中所述,当从列droplist中选择新值时,文本输入会将其宽度调整为默认值。在选择新的droplist项时,如何保持文本输入的宽度

我想出了一个解决办法。如果有人知道另一种方法,请提供帮助。下面是我所做的:我在droplist上附加了一个.change()函数。此函数用于设置文本框的宽度值,从而有效地将其保持在原位。为了确保在设置.change()函数时存在droplist,我在beforeShowSearch事件的相同函数调用中设置了它。代码如下:

$(divId).jqGrid('navGrid', pagerId, { add: true, edit: false, del: false, search: true },
        {}, //default for edit
        {}, //default for add
        {}, //delete disabled
        { //search
            width: '750',
            beforeShowSearch: function () {
                   //set textbox width
                   $(".searchFilter table td .input-elm").css('width', '300px');
                   //keep it in place with .change() on select
                   $(".searchFilter table td select").change(function () {
                        $(".searchFilter table td .input-elm").css('width', '300px');
                   });
                   return true;
        },
        {} // view parameters
    );
当然,可以通过将.css调用提取到自己的函数中来消除重复。根据需要重构