在前端开发中,当搜索输入字段被清除时,可以使用以下方法在搜索过滤器中隐藏列表项:
这样,当搜索输入字段被清除时,列表项中不匹配的项将会被隐藏起来,只显示与搜索条件匹配的项。
以下是一个示例代码,演示如何在前端实现这个功能:
HTML代码:
<input id="searchInput" type="text" placeholder="输入搜索关键字">
<ul id="itemList">
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
<li>列表项4</li>
</ul>
JavaScript代码:
const searchInput = document.getElementById('searchInput');
const itemList = document.getElementById('itemList').getElementsByTagName('li');
searchInput.addEventListener('input', function() {
const searchKeyword = searchInput.value.toLowerCase();
for (let i = 0; i < itemList.length; i++) {
const itemText = itemList[i].innerText.toLowerCase();
if (searchKeyword === '' || itemText.includes(searchKeyword)) {
itemList[i].style.display = 'block'; // 显示匹配的列表项
} else {
itemList[i].style.display = 'none'; // 隐藏不匹配的列表项
}
}
});
这段代码中,使用addEventListener函数监听了输入字段的input事件,即在输入字段的文本发生变化时触发。在事件处理程序中,首先获取输入字段中的文本,并转换为小写字母以便进行匹配。
然后,使用循环遍历所有的列表项元素。对于每个列表项,获取其文本内容,并将其转换为小写字母。通过比较搜索输入字段的文本与列表项的文本,判断是否匹配。若搜索输入字段为空或与列表项文本匹配,则显示该列表项,否则隐藏该列表项。
通过设置列表项的display属性为'block'或'none',控制其显示与隐藏。
这样,当搜索输入字段被清除时,列表项中不匹配的项将被隐藏,只显示与搜索条件匹配的项。
对于推荐的腾讯云相关产品,可以使用腾讯云的CDN加速服务(https://cloud.tencent.com/product/cdn)来加速静态资源的加载,提升网站的访问速度。
领取专属 10元无门槛券
手把手带您无忧上云