I have an AutoCompleteExtender on my page which works fine but when I scroll down the page and use it, suggestions show up at wrong (vertical) position.
It happens with Safari & Chrome but not with IE &FF and so I thought it could be webkit's fault.
Heres the code:
<td>
<div style="position: relative;">
<asp:TextBox ID="DepartureAirportTextBox" runat="server" CssClass="DepartureAirport airport-textbox"
onblur="javascript:DepartureLostFocus();" onkeydown="javascript:DepartureChanged(event);"></asp:TextBox>
<asp:Panel ID="DepartureAutocompleteDropDownPanel" runat="server" ScrollBars="Vertical"
CssClass="autocomplete-panel" Style="display: none;" />
<AjaxControlToolkit:AutoCompleteExtender ID="DepartureAirportAutoComplete" runat="server"
TargetControlID="DepartureAirportTextBox" CompletionSetCount="200" ServicePath="../WebServices/SecureService.asmx"
ServiceMethod="ListAirports" MinimumPrefixLength="3" BehaviorID="DepartureAirport"
CompletionListElementID="DepartureAutocompleteDropDownPanel" OnClientItemSelected="SelectDepartureAirport"
OnClientPopulating="ShowDepartureIcon" OnClientPopulated="HideDepartureIcon">
</AjaxControlToolkit:AutoCompleteExtender>
</div>
</td>
I have tried this & this solutions on SO, but none worked.
How to fix it?
Update:
Even the simplest example from Microsoft has this problem. Add some <p>
elements before and after the textbox & extender to create scrollable area and test it.
<asp:TextBox ID="txtMovie" runat="server"></asp:TextBox>
<AjaxControlToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" TargetControlID="txtMovie"
runat="server" UseContextKey="True" MinimumPrefixLength="2" ServiceMethod="GetCompletionList" />
Get code for GetCompletionList
from above link. This issue is so easily reproducible.