jQuery自动完成功能无法正常工作

时间:2012-06-27 20:13:45

标签: jquery jquery-ui 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函数中运行。我知道availableMaps数组填充了字符串值。

自动完成确实有效,因为如果我输入输入字段中的字母或单词,我可以按下向下箭头,字段显示在字段中,就像自动完成工作正常一样。唯一的问题是我没有得到值可供选择的小下拉菜单。所以我需要的是让下拉菜单显示出来。输入字段下方还有其他内容,因此下拉菜单可能隐藏在其他内容后面吗?似乎不太可能。我需要在$(document).ready函数中使用它吗?

2 个答案:

答案 0 :(得分:1)

是的,您需要将$("#mapTags").autocomplete...部分放在$(document).ready函数中以确保已加载jQuery,否则将$未定义且您的自动完成将无法设置。

答案 1 :(得分:0)

对于任何仍然关心的人,我不得不将z-index增加到100000000000.在我之前编写系统部分的人显然已经设置了一个非常大的z-index。至少现在我知道你的z-index大于100。

Mikeshiny