2012-01-13 90 views
2

我期待创建一个类似于谷歌使用jQuery的搜索功能。但是,我不确定其特征之一的名称。jQuery自动完成/预测 - 像谷歌

有问题的功能是文本预测元素。

例如。如果我输入jquery它显示在输入框“jquery”作为我的输入,但然后在灰色它添加输入框中的第一个结果的文本,并允许用户选择此“预测值”

我已经搜索这个功能的名称和一个工作示例的高低。

任何帮助将不胜感激

+0

我想这就是你要找的东西:http://stackoverflow.com/questions/3875079/jquery-and-grails-html-make-text-field-complete-text-like-google-does(这里是一个例子:http://jsfiddle.net/QU9st/ – Quasdunk 2012-01-13 12:16:36

+0

也许吧? http://www.devbridge.com/projects/autocomplete/jquery/ – pltvs 2012-01-13 12:17:46

+1

差不多!但不是那样,它需要输入到自己的风格输入框,我遇到的问题是造型建议 – Coops 2012-01-13 12:20:21

回答

7

你正在寻找一种自动完成功能。 jQuery UI有一个很棒的自动完成功能。

http://jqueryui.com/demos/autocomplete/

搜索结果,你可以从一个数组或数据库表(直通服务器页面)获得。它是非常简单的设置,如下

下面的例子是使用数组作为自动建议项目的数据源。

$(function() { 
     var availableTags = [ 
      "ActionScript", 
      "AppleScript", 
      "Asp", 
      "BASIC", 
      "C", 
      "C++", 
      "Clojure", 
      "COBOL", 
      "ColdFusion", 
      "Erlang", 
      "Fortran", 
      "Groovy", 
      "Haskell", 
      "Java", 
      "Scheme" 
     ]; 
     $("#tags").autocomplete({ 
      source: availableTags 
     }); 

上述代码将id为“tags”的文本框绑定到自动完成函数。我们提到源值是我们存储不同编程语言名称的数组的名称。

大多数情况下,您可能需要从数据库获取数据,然后使用中间服务器页面作为数据源。此服务器页面将从数据访问层获取数据并给出结果。

$("#tags").autocomplete({ 
      source: "searchtags.php", 
      minLength: 2, 
      select: function(event, ui) { 
       log(ui.item ? 
        "Selected: " + ui.item.value + " aka " + ui.item.id : 
        "Nothing selected, input was " + this.value); 
      } 
     }); 
+0

只是一个更新伙计们,我了解Jquery UI自动完成插件,这是我添加的功能,但是这个问题是问如何创建灰色INPUT框中的建议文本。我会上传一个屏幕截图,但不会允许我。 – Coops 2012-01-13 14:29:07

+0

@ Coops:要有不同风格的建议文本,只需更新该项目的CSS样式即可。使用firebug找出什么是当前样式并更新CSS。多数民众赞成 – Shyju 2012-01-13 14:34:07

+0

试过,但是你只能风格的谁输入,而不是其中的文字的部分。因此寻找一个JavaScript解决方案 – Coops 2012-01-13 14:40:03

2

你在看什么是自动完成插件。这里有几个,但“官方”之一是这个jQuery自动完成:http://docs.jquery.com/Plugins/Autocomplete和代码:

$("#example").autocomplete(data); 
+2

不,现在是[jQuery UI之一](http://jqueryui.com/demos/autocomplete/)。但我仍然有一些项目运行那个(bassistance.de之一) – Rup 2012-01-13 12:33:37

1

我发现的最近的是jQuery自动完成,你有没有发现过一个像Google的?