我有下一个HTML:
<input type="text" id="search" name="searchword" value="" />
<ul id="search_list">
<li>first</li>
<li>second</li>
<li>third
<ul>
<li>aaa</li>
<li>bbbb
<ul>
<li>111111</li>
<li>22222</li>
<li>3333</li>
</ul>
</li>
<li>cccc</li>
</ul>
</li>
</ul>
我想通过输入搜索此列表。
我在输入中输入了文字,而<li>
和<ul>
则不是搜索结果必须隐藏。
非常感谢,抱歉我的英语不好
答案 0 :(得分:5)
根据您希望进行搜索和过滤的情况,使用键盘,模糊或更改。
$('#search').change(function() {
var searchTerms = $(this).val();
$('li').each(function() {
var hasMatch = searchTerms.length == 0 || $(this).is(':contains(' + searchTerms + ')');
$(this).toggle(hasMatch);
});
});
编辑:使解决方案略显冗长,以便于阅读。
这是fiddle。