佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1705|回复: 3

Google Search AutoComplete Feature

[复制链接]
发表于 14-12-2011 03:51 PM | 显示全部楼层 |阅读模式
各位大大,

小弟想写个像Google search 这样在textbox里打了比如说"a",然后在AutoComplete的feature里会出现四个有“a”的选择(select from db limit 4 这样的),我想应该是ajax 和 javascript 的东东……有简单的例子给我参考吗?网上找的js都看不懂 因为小弟实力还不够……

请帮帮小弟~~~
回复

使用道具 举报


ADVERTISEMENT

发表于 15-12-2011 01:45 PM | 显示全部楼层
本帖最后由 littlepenguin 于 15-12-2011 02:01 PM 编辑

回复 1# lalalion


   嗨,可以用jquery和google suggest api。来一个简化版的, 跟着网上的source code修改的

index.html 放一个textbox, suggestion box和list
  1. <html>

  2. <script type="text/javascript" src="jquery.js"></script>
  3. <script type="text/javascript" src="search.js"></script>
  4. <link rel="stylesheet" type="text/css" href = "style.css"/>

  5. <input type="text" size="50" value="" id="input" onkeyup="search(this.value);" onblur="auto();" />

  6. <div class="suggestionsBox" id="SuggestionsBox" style="display: none;">
  7. <div class="suggestionList" id="SuggestionsList">
  8. </div>
  9. </div>

  10. </html>
复制代码



search.js
  1. function search(input)
  2. {
  3.         if(input.length == 0)
  4.         {
  5.                 $('#SuggestionsBox').hide();
  6.         }
  7.         else
  8.         {
  9.                 $.post("search.php", {query: input},         
  10.                 function(data)        
  11.                 {               
  12.                         if(data.length >0)
  13.                         {
  14.                                 $('#SuggestionsBox').show();
  15.                                 $('#SuggestionsList').html(data);
  16.                         }
  17.                 });
  18.         }
  19. }

  20. function auto(value)
  21. {
  22.         $('#input').val(value);
  23.         setTimeout("$('#SuggestionsBox').hide();", 200);
  24. }
复制代码






search.php, 用xmlreader read from google api。
  1. <?php
  2. $query =  urlencode($_POST['query']);
  3. if(strlen($query) >0)
  4. {
  5.         $reader = new XMLReader();
  6.         if (!$reader->open("http://google.com/complete/search?output=toolbar&q=$query"))
  7.         {
  8.                 die("Cannot open url");
  9.         }
  10.         while($reader->read())
  11.         {
  12.                 if($reader->nodeType == XMLReader::ELEMENT)
  13.                 {
  14.                         if($reader->localName == "suggestion")
  15.                         {
  16.                                 echo '<div onClick="auto(\''.$reader->getAttribute('data').'\');">'.$reader->getAttribute('data').'</div>';;
  17.                         }
  18.                 }
  19.         }
  20.         $reader->close();
  21. }
  22. ?>
复制代码



style.css
  1. .suggestionsBox
  2. {
  3.         border: 2px solid #000;
  4.         width: 330px;
  5. }

  6. .suggestionList div
  7. {
  8.         padding: 3px;
  9.         cursor: pointer;
  10. }

  11. .suggestionList div:hover
  12. {
  13.         background-color: #E6E6E6;
  14. }
复制代码
回复

使用道具 举报

 楼主| 发表于 16-12-2011 05:44 PM | 显示全部楼层
回复 2# littlepenguin



wow! 谢谢这位大哥的分享~小弟已经找到解决方法了~也是jQuery的,(*^__^*) 嘻嘻……
小弟要的比较简单,没有Google API的, 只是想要好像google auto suggestion 那样~~

正在跟上司谈谈怎样跟我们的system integrate

我是要做类似这个的的: http://jqueryui.com/demos/autocomplete/#remote   
回复

使用道具 举报

发表于 25-6-2012 01:03 AM | 显示全部楼层
我的fyp是用 jquery ajax + web service + vb.net 来弄的.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 21-10-2025 07:53 AM , Processed in 0.165006 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表