实时搜索jquery(在li标题中搜索)



我尝试用输入字段搜索项目列表,

<ul class="display">
 <li title="Pizza Otto">some divs</li>
 <li title="Pizza Prono">some divs</li>
 <li title="Pizza David">some divs</li>
</ul>

下面的代码适用于<li>...</li>中的单词。我想在那里放一些div,并在<li>中添加一个title属性来进行搜索。

$('input[name="q"]').search('.display li', function(on) {
    on.all(function(results) {
        var size = results ? results.size() : 0
        $('#count').text(size + ' results');
});

关于这里的右选择器:.search('.display li',有什么想法吗?或者我必须在哪里做出改变?

谢谢并为我的英语感到抱歉。。。

附言:这是我的第一个问题!

UPDATE:测试val是否包含的函数

 function query(selector) {
    if (val = this.val()) {
      return $(selector + ':contains("' + val + '")');;
    } else {
      return false;
    }
  }

如果你只想突出显示与输入值匹配的列表项,你也可以尝试使用.contains()(如果你想要部分匹配),否则你可以使用Trey提到的属性包含选择器。

两者的一个例子,包括不区分大小写的.contains(),可以在这里找到。

我不熟悉搜索方法。。。但是

var result=$('.display li["title='+$('input[name="q"]').val()+'"]');

会选择您要查找的李

我认为@robin-pyon考虑的是:contains()选择器,.contents()方法实际上是在另一个dom元素中搜索一个dom元素,如果你想搜索的文本包含在LI中,你可以用它来选择ui:

var result=$('.display li:contains("'+$('input[name="q"]').val()+'")');

最新更新