如何用Ajax实现类似百度搜索效果

问题描述

实现的效果是 我们可以利用 上 下 键 可以选择 从数据库当中循环出来的数据 并且 搜索栏里面的 input 当中的值会 改变成当前 选择的元素的值 只要告诉我如何 利用 上 下 键可以选择元素就可以了 谢谢^_^ 问题补充:我想问下 就非得用插件才行了?我要的是一个很简单的应用 不用考虑到性能的问题的 不用插件能不能实现

解决方案

http://jqueryui.com/demos/autocomplete/#remote-jsonp下面有VIEW SOURCE<meta charset="utf-8"><style>.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat; }#city { width: 25em; }</style><script>$(function() {function log( message ) {$( "<div/>" ).text( message ).prependTo( "#log" );$( "#log" ).attr( "scrollTop", 0 );}$( "#city" ).autocomplete({source: function( request, response ) {$.ajax({url: "http://ws.geonames.org/searchJSON",dataType: "jsonp",data: {featureClass: "P",style: "full",maxRows: 12,name_startsWith: request.term},success: function( data ) {response( $.map( data.geonames, function( item ) {return {label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,value: item.name}}));}});},minLength: 2,select: function( event, ui ) {log( ui.item ?"Selected: " + ui.item.label :"Nothing selected, input was " + this.value);},open: function() {$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );},close: function() {$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );}});});</script><div class="demo"><div class="ui-widget"><label for="city">Your city: </label><input id="city" />Powered by <a href="http://geonames.org">geonames.org</a></div><div class="ui-widget" style="margin-top:2em; font-family:Arial">Result:<div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content"></div></div></div><!-- End demo --><div class="demo-description"><p>The Autocomplete widgets provides suggestions while you type into the field. Here the suggestions are cities, displayed when at least two characters are entered into the field.</p><p>In this case, the datasource is the <a href="http://geonames.org">geonames.org webservice</a>. While only the city name itself ends up in the input after selecting an element, more info is displayed in the suggestions to help find the right entry. That data is also available in callbacks, as illustrated by the Result area below the input.</p></div><!-- End demo-description -->
解决方案二:
<script type="text/javascript">function google(){var pos=$("#ename").position();var url="dept!google";$.post(url,{ename:$("#ename").val()},function(msg){$('#emp').css("left",pos.left+20);$('#emp').css("top",pos.top+20);$('#emp').html(msg);$('#emp').show();});}function setval(obj){$('#ename').val(obj);$('#emp').hide();}
解决方案三:
[url]http://jqueryui.com/demos/autocomplete/#remote [/url]
解决方案四:
不用插件你自己实现比较 麻烦,又要自己写AJAX的东西,又要重新渲染DOM元素,一天都有可能做不完用插件 很快的当然也可以找网上别人没用插件自己纯手工JAVASCRIPT 写的自动完成 功能 帮你搜了下http://www.jz123.cn/text/0133852.htmlhttp://www.jb51.net/article/19017.htm自己手写就要看你JAVASCRIPT的基本工了
解决方案五:
输入框下面是个DIV,通过捕获鼠标上下键来选中,并且更新输入框里的值.自己实现也不会很复杂.
解决方案六:
后台走数据库模糊搜索的话,性能太差。建议使用lucene建立索引。关键字联想信息通过lucene查询。
解决方案七:
http://jqueryui.com/demos/autocomplete/#remote
解决方案八:
http://jqueryui.com/demos/autocomplete/
解决方案九:
jquery.ui.autocomplete.js去jquery的官网看一看,很简单的一个插件.

时间: 2024-11-05 12:18:28

如何用Ajax实现类似百度搜索效果的相关文章

初学者的忧伤-实现类似百度搜索效果,输入关键字(都是英文),将查出来的内容的关键字标红

问题描述 实现类似百度搜索效果,输入关键字(都是英文),将查出来的内容的关键字标红 我现在需要输入关键字,从数据库查出内容,并在显示时候将关键字标红.(该功能很好实现) 我现在遇到的问题是,我该如何实现替换之后显示的内容和之前数据库中查出的内容关键字位置大小写一致. 附上我写的代码: article.getArticleTitle()是数据库中的字段.search是输入的关键字 article.getArticleTitle().replaceAll("(?i)" + search,

AJax实现类似百度搜索栏的功能 (面试多见)_AJAX相关

实习过程中需要用到异步提交功能,于是试着去了解了一下ajax,瞬间感觉以前学习的真是九牛一毛啊,确实如此,做web应用开发,如果不会jquery和ajax,那真的就是白学了,了解之后我才感觉网上的那些花哨的功能已经都可以实现了. 话不多说,下面有ajax实现一个简单的百度搜索栏的功能,当用户在上面的输入框中键入字符时,会执行函数 "showHint()" .该函数由 "onkeyup" 事件触发: function showHint(str) { var xmlht

基于jquery实现的类似百度搜索的输入框自动完成功能_jquery

废话不多说,直观的看一下: 实现这个功能需要服务端配合.客户端通过脚本来展示从服务端取得的数据. 先看客户端的HTML: 复制代码 代码如下:   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  <html xmlns="http://www.w3.org/1999

用AJAX实现例如百度搜索的提示功能遇到的问题

问题描述 首先写了一个test.jsp代码如下:<%@pagelanguage="java"pageEncoding="GBK"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head>

Swing 类似百度搜索的效果 求高手帮忙完善一下

问题描述 packagecom.client.view;importjava.awt.BorderLayout;importjava.awt.Dimension;importjava.awt.FlowLayout;importjava.awt.Point;importjava.awt.event.KeyEvent;importjava.awt.event.KeyListener;importjava.awt.event.MouseAdapter;importjava.awt.event.Mous

Ajax实现智能提示搜索功能_AJAX相关

一.效果图: 二.实现过程:   思路:  三.部分代码:html: <div id="searchbox"> <div><input type="text" id="txtTitle" /></div> <div id="btnSelect"><a href="javascript:;">Google</a></di

让input框实现类似百度的搜索提示(基于jquery事件监听)_jquery

挺炫的一个效果,百度和谷歌好像已实现好多年了,我以为在网上能轻易找到代码来实现这个效果.真正遇到这个需求,发现还真找不到.于是自己动手写这个效果,由于我是把效果整合到我的整套框架里,所以没有进行单独的封装. 需求:实现带提示的input框,类似百度搜索,有改动的时候去获取常用关键词,数据来源于系统数据库,支持鼠标选择或键盘选择 思路:框架一贯思路,通过class作为监听入口,通过data作为数据传递:通过监听input和propertychange事件实现实时的改动监听,input是主流,pro

solr百度搜索-solr检索,查出关键字

问题描述 solr检索,查出关键字 solr怎么可以做成类似百度搜索的功能,后台搜索词或者字的时候,能得到相关信息出来 解决方案 相关性是根据用户的搜索行为产生的,而不是根据搜索本身产生的. 当你的系统运行的时候,你可以将同一用户会话中用户连续搜索的不同关键字记录在一个关联矩阵中,然后别的用户搜索,你可以通过它去找相关关键字.

标签-仿百度搜索框只能提示上下键移动的功能效果 js+jquery

问题描述 仿百度搜索框只能提示上下键移动的功能效果 js+jquery 搜索结果不能上下移动,只能按一下,按第二下的时候结果只剩下一个了,currentSelIndex总是为0 ,currentSelIndex是记录 标签id的变量. 首先,我输入一个字符,匹配到的结果会在文本框下方显示出来.因为代码都是写在搜索框的onkeyup ()事件中的,每按一下键盘都会触发该事件,当我第一次按(下)键的时候,相应的会把选中的文本赋 给搜索框,所以按第二次的时候又会重新触发该事件,搜索条件变成了第一次按(