У меня есть AutoCompleteExtender на моей странице, который работает нормально, но когда я прокручиваю страницу вниз и использую ее, предложения появляются в неправильном (вертикальном) положении.
Это происходит с Safari и Chrome, но не с IE и FF, и поэтому я подумал, что это может быть ошибка WebKit.
Вот код:
<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>
Я пробовал это & это решения на SO, но ни одно не помогло.
Как это исправить?
Обновление:
Даже в простейшем примере от Microsoft есть эта проблема. Добавьте несколько элементов <p>
до и после текстового поля и расширителя, чтобы создать прокручиваемую область и проверить ее.
<asp:TextBox ID="txtMovie" runat="server"></asp:TextBox>
<AjaxControlToolkit:AutoCompleteExtender ID="AutoCompleteExtender1" TargetControlID="txtMovie"
runat="server" UseContextKey="True" MinimumPrefixLength="2" ServiceMethod="GetCompletionList" />
Получить код для GetCompletionList
по ссылке выше. Эта проблема легко воспроизводима.