jQuery自动完成无法正常工作

jQuery自动完成无法正常工作,jquery,jquery-ui,autocomplete,Jquery,Jquery Ui,Autocomplete,我在我的网站上使用多个自动完成框。框中充满了动态字符串数组,因此我没有使用服务器。所有信息都是本地的。以下是我的一些代码: <script> var availableMaps = new Array(); var availableLayers = new Array(); var availablePlaces = new Array(); </script> var availableMaps=新数组(); var availableayers=新数组(); v

我在我的网站上使用多个自动完成框。框中充满了动态字符串数组,因此我没有使用服务器。所有信息都是本地的。以下是我的一些代码:

<script>
var availableMaps = new Array();
var availableLayers = new Array();
var availablePlaces = new Array();
</script>

var availableMaps=新数组();
var availableayers=新数组();
var availablePlaces=新数组();
以上是在我的索引页的顶部

<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
});

搜索:
以上内容在我的索引页的正文中

<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
});
for(var i=0;i
这段代码可以在一个js函数中找到,该函数在页面加载时正确运行。它不在
$(document.ready
函数中运行。我知道availableMaps数组中充满了字符串值


“自动完成”确实可以稍微工作,因为如果我在输入字段中输入字母或单词,我可以按下向下箭头,字段中的项目就会显示出来,就像“自动完成”可以工作一样。唯一的问题是,我没有得到一个有值可供选择的小下拉菜单。所以我只需要让下拉菜单显示出来。输入字段下方还有其他内容,因此下拉菜单是否会隐藏在其他内容后面?似乎不太可能。我是否需要在
$(文档)中有此功能。准备好了吗?

是的,您需要将
$(“#mapTags”).autocomplete…
部分放在
$(文档)中。准备好了
功能以确保jQuery已加载,否则
$
将不被定义,您的自动完成将无法设置。

是的,您需要将
$(“#mapTags”).autocomplete…
部分放在
$(文档)中。准备好
函数以确保jQuery已加载,否则
$
将未定义,您的autocomplete将无法设置。

对于仍然关心的人,我必须将z索引增加到大约10000000000。在我之前编写部分系统的那个人显然设置了一个非常非常大的z索引。至少现在我知道你的z指数可以大于100


Mikeshiny

对于那些仍然关心的人,我必须将z指数增加到大约10000000000。在我之前编写部分系统的那个人显然设置了一个非常非常大的z索引。至少现在我知道你的z指数可以大于100


Mikeshiny

你能在中重现问题吗?你能在中重现问题吗?但是如果jQuery还没有加载,它不是就不能完全工作吗?因为它似乎部分工作,它只是没有提供下拉菜单。您认为如果jQuery还没有加载,它会部分工作,还是根本不工作?我想,如果它还没有加载的话,它根本不会工作。嗯,当你提到它部分工作时,我可能误解了你的意思。在我听来,你好像刚刚获得了浏览器的自动完成功能。自动完成元素可能隐藏在其他元素后面,在这种情况下,您需要检查z索引。但是如果jQuery还没有加载,它不是就不能完全工作吗?因为它似乎部分工作,它只是没有提供下拉菜单。您认为如果jQuery还没有加载,它会部分工作,还是根本不工作?我想,如果它还没有加载的话,它根本不会工作。嗯,当你提到它部分工作时,我可能误解了你的意思。在我听来,你好像刚刚获得了浏览器的自动完成功能。自动完成元素可能隐藏在其他元素后面,在这种情况下,您需要检查z索引。