javascript - 使用 jquery .filter() 在列表中搜索项目
问题描述
我正在尝试输入一个查看我的列表并返回以下结果的输入。
这是我的清单
<ul id="lista1" class="list-group">
<li id = "1" class="list-group-item d-flex justify-content-between align-items-center">
<p id = "elem1"> Carne </p>
<p id = "elem2"> Pesce </p>
<p id = "elem3"> Verdure </p>
</li>
</ul>
在网上搜索,我发现了这个功能,但我不能在我的情况下采用它,因为我不想更改当前列表,但下面只复制了搜索结果。
$(document).ready(function(){
$("#myInput").on("keyup", function() {
var value = $(this).val().toLowerCase();
$("#lista1 p").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1).indexOf()
});
});
});
解决方案
您需要选择每个不包含值的元素,.filter()
然后隐藏它们。
$("#myInput").on("keyup", function() {
var value = this.value.toLowerCase().trim();
$("#lista1 p").show().filter(function() {
return $(this).text().toLowerCase().trim().indexOf(value) == -1;
}).hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="myInput">
<ul id="lista1" class="list-group">
<li id = "1" class="list-group-item d-flex justify-content-between align-items-center">
<p id = "elem1"> Carne </p>
<p id = "elem2"> Pesce </p>
<p id = "elem3"> Verdure </p>
</li>
</ul>
推荐阅读
- ios - 在 NSFetchedResultsController 中对部分进行排序
- python - python pygalmesh 无法使工作示例
- android - Flutter 如何在我的应用程序中使用电话密码
- python-3.x - 为什么代码只匹配第一个和最后一个匹配而不是全部?
- python - 无法在类型为 UINT8 的 TensorFlowLite 张量和类型为 Java 的对象之间转换
- python - Python teampeak3 api
- java - Java NativeKeyListener 在另一个应用程序中不起作用
- javascript - JavaScript el.animate() 中的奇怪翻译
- reactjs - 未处理的运行时错误 TypeError:formData.set 不是函数?无法修复
- git - 如何安全地与 master 切换分支?