嘿,我需要你的帮助。我向输入搜索字段添加了一个隐藏列表。当您单击输入字段时将打开列表,并在您单击除列表之外的其他任何位置时关闭该列表。例如,如果您单击“蒙特哥贝”,它将被添加到输入字段中,并替换该字段中的当前文本。列表处于活动状态时不显示自动提示
不过,我有两个问题:
- 我也有一个谷歌地图自我暗示搜索领域内工作。如果我的隐藏列表未激活,如何才允许Google自动建议只在 搜索字段中弹出?
的谷歌自动提示脚本:
$(function() { google.maps.event.addDomListener(window,"load",function(){new google.maps.places.Autocomplete(document.getElementById("HotelsPlacesEan"))}); }); var loading = false;
- 我怎么能隐藏列表如果失去焦点? (如果我设置
$(".input").on("focusout", function() {
$(".suggest-content").addClass("hiddd");
})
,列表中不添加文本搜索字段,当我点击 它,而是关闭它被添加之前列表
输入:
<input required id="HotelsPlacesEan" name="city" type="search" class="form input-lg RTL search-location deleteoutline opensuggest" placeholder="<?php echo trans('026'); ?>" value="<?php echo $themeData->selectedCity; ?>" required />
列表:
<div class="suggest-div">
<span class="suggest-content hiddd">
<ul class="liststyle">
<li class="whylist"><b>Popular Destinations</b></li>
<li class="suggest"><a class="selectlink" href="">Montego Bay</a></li>
<li class="suggest"><a class="selectlink" href="">Negril</a></li>
<li class="suggest"><a class="selectlink" href="">Ocho Rios</a></li>
<li class="suggest"><a class="selectlink" href="">Kingston</a></li>
<li class="suggest" style="border-bottom:0px;"><a class="selectlink" href="">Port Antonio</a></li>
</ul>
</span>
</div>
CS S:
<style>
a.selectlink {
padding-left: 10px;
padding-top: 10px;
padding-bottom: 10px;
display: block;
}
a.selectlink:hover {
color: #fff;
}
ul.liststyle {
margin-top: 0px;
}
li.whylist {
padding-top: 10px;
padding-bottom: 10px;
background-color: #ddd;
color: #000;
padding-left: 10px;
font-size: 15px;
font-weight: 100;
}
li.suggest {
border-bottom: 1px solid #ddd;
font-size: 15px;
font-weight: 100;
}
li.suggest:hover {
background-color: #515B62;
color: #fff;
}
.suggest-div {
position: absolute;
width: 100%;
}
span.suggest-content {
display: block;
background-color: #fff!important;
margin-top: 0px;
line-height: 1.2;
position: absolute;
width: 100%;
z-index: 999;
}
span.suggest-content:focus {
display: none; }
.hiddd {
display: none!important;
}
.form {font-weight: 100!important;}
</style>
脚本:
<script type="text/javascript">
$(".selectlink").click(function(e) {
e.preventDefault();
$("#HotelsPlacesEan").val($(this).text());
});
$(".opensuggest").click(function() {
$(".suggest-content").toggleClass("hiddd");
});
$(".input").on("focusout", function() {
$(".suggest-content").addClass("hiddd");
})
</script>
这是谷歌自动提示的在名单问题截图:
我会很感激,如果你能帮助我!在此先感谢:)
请您谈一下输入搜索栏,但不显示任何在你的HTML。你在搜索字段中提到谷歌自动完成弹出(=你称之为输入元素!!)那么它在哪里真正弹出?在#HotelsPlacesEan?它在哪里?显示所有需要的html标记。如果你有一个小提琴..显示它。至于问题2:焦点在点击之前触发!一种解决方案是将addClass行放入超时。 – yezzz
嘿,谢谢你的回答!我完全忘记添加输入,抱歉。现在已经完成了!也许你可以帮助我? –