我在我的网站上使用多个自动填充框。这些框用动态字符串数组填充,所以我没有使用服务器。所有信息都是本地的。以下是我的一些代码:
<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
函数中使用它吗?
答案 0 :(得分:1)
是的,您需要将$("#mapTags").autocomplete...
部分放在$(document).ready
函数中以确保已加载jQuery,否则将$
未定义且您的自动完成将无法设置。
答案 1 :(得分:0)
对于任何仍然关心的人,我不得不将z-index增加到100000000000.在我之前编写系统部分的人显然已经设置了一个非常大的z-index。至少现在我知道你的z-index大于100。
Mikeshiny