Я использую несколько автозаполненных ящиков на своем сайте. Ящики заполнены динамическими строковыми массивами, поэтому я не использую сервер. Вся информация является локальной. Вот некоторые из моего кода:jQuery Autocomplete не работает должным образом
<script>
var availableMaps = new Array();
var availableLayers = new Array();
var availablePlaces = new Array();
</script>
Выше в верхней части моей страницы индекса
<div class="ui-widget">
<label for="mapTags">Search: </label>
<input id="mapTags">
</div>
Выше в тело страницы индекса
for(var i = 0; i < mapContainer.length; i++)
{
availableMaps[i] = mapContainer[i].name;
}
$("#mapTags").autocomplete({
source: availableMaps
});
Этот кусок кода находится в функции js, которая работает правильно, когда загружается страница. Он не работает в функции $(document).ready
. И я знаю, что массив доступных массивов заполняется строковыми значениями.
Автозаполнение работает немного, потому что, если я вводю букву или слово в поле ввода, я могу нажать стрелку вниз, и элементы появятся в поле так же, как если бы автозаполнение работало. Единственная проблема заключается в том, что я не получаю небольшое раскрывающееся меню со значениями на выбор. Поэтому мне нужно только открыть раскрывающееся меню. Есть ли другой контент под полем ввода, поэтому выпадающее меню может скрываться за другим контентом? Не кажется вероятным. Должен ли я иметь это в функции $(document).ready
?
Вы можете воспроизвести проблему в [JSFiddle] (http://www.jsfiddle.net)? –