gpt4 book ai didi

javascript - jquery 动态过滤器列表

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:40 24 4
gpt4 key购买 nike

我正在尝试在 keypress 上创建一个过滤器列表。例如,如果我在输入 "It" 中写入,与此输入值不匹配的元素将被隐藏。我不确定我对下面代码的想法是否能完成这项工作。任何提示将不胜感激!

$('ul li ul li').addClass('displayNone');

var geInputValue = $('input').val();
var getInputLength = $('input').length;

function sortDynamically(){
$('input').on('keypress', function(){
for(var i=0; i < getInputLength; i++){
if(getInputValue === $('li').text){
// remove everything that doesnt match input value
$('li').siblings().addClass('displayNone');
}
else{
$('li').siblings().removeClass('displayNone');
});
}

sortDynamically();
ul, li{
list-style-type: none;
margin: 0;
padding: 0;
}

.displayNone{
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
<ul class="list">
<li>Item</li>
<li>Product
<ul>
<li>Bike</li>
</ul>
</li>
<li>About</li>
</ul>

最佳答案

此代码会根据您键入的内容进行过滤。如果文本输入中没有任何内容,则会显示所有内容。

$('input').on('keypress keyup', function(){
var value = $(this).val().toLowerCase();
if (value != '') {

$('.list > li').each(function () {
if ($(this).text().toLowerCase().indexOf(value) > -1) {
$(this).removeClass('displayNone');
} else {
$(this).addClass('displayNone');
}
});
} else {
$('.list > li').removeClass('displayNone');
}
});
ul, li{
list-style-type: none;
margin: 0;
padding: 0;
}

.displayNone{
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
<ul class="list">
<li>Item</li>
<li>Product
<ul>
<li>Bike</li>
</ul>
</li>
<li>About</li>
</ul>

关于javascript - jquery 动态过滤器列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36809450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com