滚动时,AutoCompleteExtender定位菜单不正确

Col*_*lin 2 autocompleteextender ajaxcontroltoolkit

我们有一个链接到TextBox的AutoCompleteExtender.两个控件都放在UpdatePanel中,UpdatePanel显示为使用Javascript库(Ext.BasicDialog)的弹出对话框.

弹出窗口是页面上的div,而不是单独的窗口.问题是当用户在弹出窗口内滚动时,AutoCompleteExtender会在错误的位置显示其菜单.看起来它是从弹出窗口顶部看可见距离并从弹出窗口的内部html顶部定位菜单(这是不可见的)

我们正在使用AjaxControlToolkit的1.0.20229.20821版本,我们的目标是ASP.NET Framework vewrsion 2.0.

我试图通过将以下Javascript附加到OnClientShown事件来修复菜单,但它几乎做同样的事情:

function resetPosition(object, args) {

    var tb = object._element; // tb is the associated textbox.
    var offset = $('#' + tb.id).offset();

    var ex = object._completionListElement;
    if (ex) {
        $('#' + ex.id).offset(offset);
    }  
} 
Run Code Online (Sandbox Code Playgroud)

Col*_*lin 5

我通过设置position:relative包含TextBox和自动完成扩展器的div来修复此问题.在弹出式面板内部,扩展器必须使用错误的元素才能定位.