1

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

<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函数中有这个吗?

4

2 回答 2

1

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

于 2012-06-27T20:25:01.983 回答
0

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

迈克希尼

于 2012-11-14T21:47:06.950 回答