2011-01-05 31 views
2

JQuery的搜索字符串希望能帮到你,由字符

我想创建一个“简单的”自动填充/标签建议基于输入字段的值的函数类型。

例子:在输入栏中用户类型的“Hello World”,我想要做的是change比赛charachters,因为它们是对一个列表类型(predifined),所以这个名单可以是<ul><select>等。

习题。没有必要去超越前2个或3个字符,其实真的只是第一个会做的时刻 - 所以例如,在“世界你好”,在列表中可能包含的“Hello World,喜的世界,帮助世界,一个,另一个世界,因为世界......“

所以,如果我的H型为我输入首字母的一切我都在<ul><select>列表,请参阅 - 放置在输入字段后,所以可以使用.next()是”世界你好,嗨世界,帮助世界“。

同样,如果我输入一个我会看到“一个世界,另一个世界”。我希望清楚吗?概率。在那里找不到任何教程。

在此先感谢

回答

3

这从头开始并不困难。下面是部分解决我开始在几个星期前的工作,欢迎您到它:

标记:

<input type="text" /> 
<div id="results"> 
    <ul> 
     <li>Cartman</li> 
     <li>Snooker</li> 
     <li>Star Wars</li> 
     <li>Blue Velvet</li> 
    </ul> 
</div> 

$(document).ready(function() { 
    $("#results").hide(); 
    $("input").keyup(function() { 
     if (this.value.length) { 
      var that = this; 
      $("#results li").hide().filter(function() { 
       return $(this).html().toLowerCase().indexOf(that.value.toLowerCase()) !== -1; 
      }).show(); 
      $("#results").show(); 
     } else { 
      $("#results").hide(); 
     } 
    }); 
}); 

Try it out here.

+0

完美很多感谢现在可以做我想做的事情 – 2011-01-05 09:07:43

1

的jQuery UI的自动完成插件支持在稳健的方式自动完成。不过,你必须定义一个回调函数来完成过滤,这很容易。

如果您点击this particular demo上的“查看源代码”,它将显示如何使用正则表达式和jQuery grep函数进行筛选。

这应该让你开始;剩下的就是从<ul>的子元素上的jQuery选择器中构建该列表。