Jquery搜索多维ul列表

时间:2011-04-18 20:28:30

标签: jquery

我有下一个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>则不是搜索结果必须隐藏。

非常感谢,抱歉我的英语不好

1 个答案:

答案 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