我已经使用搜索实现了 ListJs,默认情况下列表中的所有元素都是可见的。有没有办法默认隐藏所有元素并仅通过搜索使它们可见?
这是我必须使用搜索( Codepen )创建列表的基本代码:
var options = {
valueNames: [ 'name', 'born' ]
};
var myList = new List('myList', options);
var noItems = $('<div class="item" id="no-items-found">No items found!</div>');
myList.on('updated', function(list) {
if (list.matchingItems.length == 0) {
$(list.list).append(noItems);
} else {
noItems.detach();
}
});
setTimeout(function(){
$('#search').focus();
}, 250);
.list {
font-family:sans-serif;
margin:0;
padding:20px 0 0;
}
.list > li {
display:block;
background-color: #eee;
padding:10px;
box-shadow: inset 0 1px 0 #fff;
}
.name {
font-size: 16px;
margin:0 0 0.3rem;
font-weight: normal;
font-weight:bold;
}
.born {
margin:0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/list.js/1.5.0/list.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="myList">
<input class="search" placeholder="Search" />
<ul class="list">
<li>
<h3 class="name">Jonny Wayne</h3>
<p class="born">1986</p>
</li>
<li>
<h3 class="name">Jonas</h3>
<p class="born">1985</p>
</li>
<li>
<h3 class="name">Jonas</h3>
<p class="born">1985</p>
</li>
<li>
<h3 class="name">Jonas</h3>
<p class="born">1985</p>
</li>
<li>
<h3 class="name">Martina</h3>
<p class="born">1986</p>
</li>
<li>
<h3 class="name">Gustaf</h3>
<p class="born">1983</p>
</li>
</ul>
</div>
关于如何默认隐藏所有元素的任何想法?
谢谢。