【发布时间】:2020-10-31 16:59:19
【问题描述】:
我想制作一个搜索表单。在这里,当用户单击输入字段时,首先显示一个 div (id: 1),其中将有一些链接,然后当用户在输入字段上键入时,首先搜索 div (id: 1) 将隐藏,第二个 div (id: 2)会显示那个地方。这里将显示搜索结果。之后,选择一个搜索结果,这里会出现第三个div(id:3)。在这个过程中,如果用户在窗口外点击,div 就会隐藏。 如需参考,请访问本网站并查看搜索表。 https://www.immobiliare.it/
这是我的代码:
<div id="1">
<button>Open Map in Modal</button>
<button>Open Map in Modal 2</button>
</div>
<div id="2">
<p>Search result</p>
<p>Search result</p>
<!-- this will fetch result via AJAX, try with static data for testing. just show the div -->
</div>
<div id="3">
<input type="checkbox"> Villa
<input type="checkbox"> Apartment
<input type="checkbox"> Cotage
</div>
<style>
#1{
display: none;
}
#2{
display: none;
}
#3{
display: none;
}
.form-group input::focus + #1{
display: block;
}
<script>
var input = document.getElementById('searchLocation');
var result = document.getElementById('2');
input.addEventListener('keypress', function() {
result.style.display = "block";
});
input.addEventListener('focusout', function() {
result.style.display = "none";
});
</script>
我尝试了焦点进出方法。但问题是我无法点击 div 内容,因为焦点不在,div 隐藏了。
请看参考链接,我想做类似的。我只需要设计。
【问题讨论】:
-
查看 CSS,您的 HTML 代码中的“form-group”类在哪里?您正在使用同级选择器,这要求它是紧接在 ID 为“1”的标签之前的标签。另外,小提示:CSS ID 通常不能以数字开头。
标签: javascript html jquery css