`

google suggest 代码例子

阅读更多

js封装代码

 


         function Ajax(){
   
             //    doc.innerHTML='<span><img src="image/load.gif"/>Loading...</span>';
            ////创造对象
            var xmlhttp;
            try
            {
                if (window.ActiveXObject){
                    /* 不要删除以下注释,这部分不是注释 */
                    /*@cc_on @*/
                    /*@if (@_jscript_version >= 5)
                    try {
                      xmlhttp = new ActiveXObject("Msxml2.xmlhttp");
                    } catch (e) {
                      try {
                        xmlhttp = new ActiveXObject("Microsoft.xmlhttp");
                      } catch (e) {
                        xmlhttp = false;
                      }
                    }
                    @end @*/
                }else{
                    xmlhttp=new XMLHttpRequest();
                }
                if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
                  xmlhttp = new XMLHttpRequest();
                }
            }
            catch(e)
            {
            alert(e.message);
            }
            //alert(xmlhttp);
            if(!xmlhttp)
            {
            alert("你的浏览器不支持xmlhttp对象,所以一些功能无法使用,建议使用高版本的浏览器!!");
            return;
            }

//    
            ///函数主题
                this.getData=function(url,data,dodata)
                {
                    var verbs =data;
                   // alert(data);
                    xmlhttp.open("POST", url,true);

                        xmlhttp.onreadystatechange=function(){
                            if (xmlhttp.readyState==4){
                                dodata(xmlhttp);                 
                            }
                        }
                    xmlhttp.setRequestHeader("Content-Length",verbs.length);
                    xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
                    xmlhttp.send(verbs);
                }
                /////
                this.getUrlData=function(url,data,dodata)
                {
                    xmlhttp.open("GET",url,true);

                    xmlhttp.onreadystatechange = function() {

                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                      dodata(xmlhttp);
                     Status.setStatusShow(false);
                    }
                    else
                    {
                      Status.showInfo("加载中...");
                    }
                 
                    }
                     xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
                    xmlhttp.send(null);
                }
                this.getFormData=function(demo)
                {
                alert(demo);
                }
            ///函数主题
}
/**
 * @author zxub 2006-06-01
 * 状态信息显示类,用var Status=new function()定义,可以静态引用其中的方法
 * 一般情况下为function Status(),这样不能静态引用其中的方法,需要通过对象来引用
 */
var Status=new function()
{
    this.statusDiv=null;
   
    /**
     * 初始化状态显示层
     */
 this.init=function()
 {
     if (this.statusDiv!=null)
     {
         return;
     }
  var body = document.getElementsByTagName("body")[0];
  var div = document.createElement("div");
  div.style.position = "absolute";
  div.style.top = "50%";
  div.style.left = "50%";
  div.style.width = "280px";
  div.style.margin = "-50px 0 0 -100px"; 
  div.style.padding = "15px";
  div.style.backgroundColor = "#353555";
  div.style.border = "1px solid #CFCFFF";
  div.style.color = "#CFCFFF";
  div.style.fontSize = "14px";
  div.style.textAlign = "center";
  div.id = "idstatus";
  body.appendChild(div);
  div.style.display="none";
  this.statusDiv=document.getElementById("idstatus");
 }
 this.init=function(obj)
 {
     if (this.statusDiv!=null)
     {
         return;
     }
    // alert(postion.y+postion.height);
     var postion=GetPosition(obj);
  var body = document.getElementsByTagName("body")[0];
  var div = document.createElement("div");
  div.style.position = "absolute";
  div.style.top = ((postion.y+postion.height)+"px");
  div.style.left = postion.x+"px";
  div.style.width = "280px";
  div.style.height = "120px";
  div.style.margin = "0 0 0 0"; 
  div.style.padding = "15px";
  div.style.backgroundColor = "#FFFFCC";
  div.style.border = "1px solid #CFCFFF";
  div.style.color = "#000000";
  div.style.fontSize = "14px";
  div.style.textAlign = "left";
  div.style.overFlowY = "scroll";
  div.id = "idstatus";
  body.appendChild(div);
  div.style.display="none";
  this.statusDiv=document.getElementById("idstatus");
 }
 /**
  * 设置状态信息
  * @param _message:要显示的信息
  */
 this.showInfo=function(_message)
 {  
     if (this.statusDiv==null)
     {
         this.init();
     } 
     this.setStatusShow(true);
     this.statusDiv.innerHTML = _message;    
 }
   this.showInfo=function(_message,obj)
 {  

     if (this.statusDiv==null)
     {
         this.init(obj);
     } 
  
     this.setStatusShow(true,obj);
     this.statusDiv.innerHTML = _message;    
 }
 
 /**
  * 设置状态层是否显示
  * @param _show:boolean值,true为显示,false为不显示
  */
 this.setStatusShow=function(_show)
 {  
     if (this.statusDiv==null)
     {
         this.init();
     }
     if (_show)
     {
         this.statusDiv.style.display="";
     }
     else
     {
         this.statusDiv.innerHTML="";
         this.statusDiv.style.display="none";
     }
 }
  this.setStatusShow=function(_show,obj)
 {  
     if (this.statusDiv==null)
     {
         this.init(obj);
     }
     if (_show)
     {
         this.statusDiv.style.display="";
     }
     else
     {
         this.statusDiv.innerHTML="";
         this.statusDiv.style.display="none";
     }
 }
}
function GetPosition(element) {
    var result = new Object();
    result.x = 0;
    result.y = 0;
    result.width = 0;
    result.height = 0;
    if (element.offsetParent) {
        result.x = element.offsetLeft;
        result.y = element.offsetTop;
        var parent = element.offsetParent;
        while (parent) {
            result.x += parent.offsetLeft;
            result.y += parent.offsetTop;
            var parentTagName = parent.tagName.toLowerCase();
            if (parentTagName != "table" &&
                parentTagName != "body" &&
                parentTagName != "html" &&
                parentTagName != "div" &&
                parent.clientTop &&
                parent.clientLeft) {
                result.x += parent.clientLeft;
                result.y += parent.clientTop;
            }
            parent = parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x = element.left;
        result.y = element.top;
    }
    else {
        if (element.x) {
            result.x = element.x;
        }
        if (element.y) {
            result.y = element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width = element.offsetWidth;
        result.height = element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
        result.width = element.style.pixelWidth;
        result.height = element.style.pixelHeight;
    }
    return result;
}

 

页面js代码

  function suggestValue(ele)
   {
if(ele.value.length<1)
return ;
   new Ajax().getData("/ajax.ashx","isAjax=true&switch=100&value="+ele.value,function(obj){;
  var values = eval(obj.responseText);
  var tempDiv ="";
  for(var i=0;i<values.length;i++)
  {
   tempDiv+='<div style="cursor:hand;width:100%" onmouseover=\'this.style.backgroundColor="#ffff88"\' onmouseout=this.style.backgroundColor="#FFFFCC" onclick=\'javascript:document.getElementById("mzzd").value="'+values[i].value+'";Status.setStatusShow(false);\' class="suggest_link_over">'+values[i].name+'</div>';
  }
   Status.showInfo(tempDiv,document.getElementById(ele.id));
   });
   }

页面html代码<input id="idkey"  style="width:36%" value="请输入拼音首字母" onfocus="if(value=='请输入拼音首字母')value='';if(value.length>0)suggestValue(this)" type="text" onkeyup='suggestValue(this)' />

服务器返回代码格式:[{name:"names"},{password:"password"}]

分享到:
评论

相关推荐

    googleSuggest例子

    在`googleSuggest`的例子中,JSP可能被用来接收用户在搜索框中的输入,然后将这些输入发送到服务器进行处理。 数据库在这里的作用是存储可能的搜索建议,比如常见的搜索关键词或者短语。可能使用了如MySQL、...

    ajax-类似google suggest 的一个简单例子

    **标题解析:** "ajax-类似google suggest 的一个简单例子" 这个标题指出我们将讨论一个使用Ajax技术实现的功能,该功能类似于Google搜索中的自动建议(Google Suggest)。Google Suggest是Google搜索引擎的一个特性...

    googlemaps googlesuggest 在asp.net 2.0中的应用

    【标题】"googlemaps googlesuggest 在asp.net 2.0中的应用"涉及到的主要知识点是Google Maps API和Google Suggest API在ASP.NET 2.0框架下的整合与使用。Google Maps API是一个强大的工具,允许开发者将地图功能...

    基于Ajax的Google Suggest 开发

    Google Suggest正是利用了Ajax的核心特性,实现了在用户输入搜索关键词时,实时向服务器发送请求,获取相关建议,并在页面上动态展示。 在Google Suggest中,用户在搜索框中输入字符时,触发`onkeyup`事件,这是一...

    google.suggest

    在描述中提到的“google.suggest是一个google.suggest的例子”,这可能是指包含了一个实际应用或演示如何使用Google Suggest API的项目。通过这个示例,开发者可以看到如何请求和处理来自Google的搜索建议数据。 在...

    这两天做了个类似Google suggest的搜索功能的Ajax代码,当然这段代码是在AJAX基础教程中示例4.9的基础上修改完成的.

    在我们的代码中,我们可能会有一个JavaScript函数,如`searchSuggest(inputValue)`,该函数会在用户输入变化时被触发,它会构造一个Ajax请求,将当前输入值作为参数传递给服务器。服务器端会根据这个值查询数据库或...

    googleSuggest

    标题“googleSuggest”指的是一个基于JavaScript实现的Google搜索建议功能。这个功能允许用户在输入搜索关键词时,根据已输入的部分文字,实时显示可能的搜索建议,提高搜索效率。JavaScript是一种广泛应用于网页和...

    AJAX实现仿Google Suggest效果

    本文将介绍如何使用AJAX技术来实现类似Google Suggest的功能,这是一种实时的、基于用户输入的搜索建议机制。Google Suggest通过在用户输入关键词时动态提供搜索建议,提高了用户体验,减少了不必要的键盘输入。以下...

    利用jquery制作google搜索一样的suggest控件

    【jQuery制作Google搜索似的Suggest控件】 在Web开发中,提供实时的搜索建议功能能够极大地提升用户体验,尤其是在处理大量数据或复杂查询时。Google的搜索建议就是一个经典的例子,它能够在用户输入时快速显示相关...

    script+ajax+css完全例子01(全部调试可运行)

    而GoogleSuggest和Slider两个较为复杂,在GoogleSuggest和Slider两个工程中都用到了数据库驱动包:msbase.jar、mssqlserver.jar、msutil.jar,以此来连接SQL Server数据库。这两个程序都用到了数据库C3C,可以直接将...

    jquery实现的AJAX的一些例子

    8. **仿GoogleSuggest自动补全**: 这种功能常见于搜索框,当用户输入时动态提供建议。创建一个简单的版本,首先设置输入框的`keyup`事件: ```javascript $('#searchInput').on('keyup', function() { var ...

    script+ajax+css完全例子05(全部调试可运行)

    而GoogleSuggest和Slider &lt;br&gt;两个较为复杂,在GoogleSuggest和Slider两个工程中都用到了数据库驱动包:msbase.jar、 &lt;br&gt;mssqlserver.jar、msutil.jar,以此来连接SQL Server数据库。这两个程序都用到了...

    script+ajax+css完全例子07(全部调试可运行)

    而GoogleSuggest和Slider &lt;br&gt;两个较为复杂,在GoogleSuggest和Slider两个工程中都用到了数据库驱动包:msbase.jar、 &lt;br&gt;mssqlserver.jar、msutil.jar,以此来连接SQL Server数据库。这两个程序都用到了...

    script+ajax+css完全例子06(全部调试可运行)

    而GoogleSuggest和Slider &lt;br&gt;两个较为复杂,在GoogleSuggest和Slider两个工程中都用到了数据库驱动包:msbase.jar、 &lt;br&gt;mssqlserver.jar、msutil.jar,以此来连接SQL Server数据库。这两个程序都用到了...

    script+ajax+css完全例子02(全部调试可运行)

    而GoogleSuggest和Slider &lt;br&gt;两个较为复杂,在GoogleSuggest和Slider两个工程中都用到了数据库驱动包:msbase.jar、 &lt;br&gt;mssqlserver.jar、msutil.jar,以此来连接SQL Server数据库。这两个程序都用到了...

    script+ajax+css完全例子03(全部调试可运行)

    而GoogleSuggest和Slider &lt;br&gt;两个较为复杂,在GoogleSuggest和Slider两个工程中都用到了数据库驱动包:msbase.jar、 &lt;br&gt;mssqlserver.jar、msutil.jar,以此来连接SQL Server数据库。这两个程序都用到了...

    自动完成输入文本框(附有控件源代码)

    它的核心功能是当用户在输入框中输入文字时,系统能够即时根据已输入的部分文本,预测并显示出可能的完整词汇或短语,就像Google Suggest那样。这种技术通常结合了Ajax(异步JavaScript和XML)技术来实现实时的后台...

    ajax实现输入提示(类似百度和Google的输入提示)

    ajax实现输入提示(类似百度和Google的输入提示) 用法非常简单: 1、在jsp页面引入autosuggest.js文件 2、建一个text文本框 3、写js代码: &lt;script&gt; new actb("tb", loadAllMessage("suggest" , ""), null); 4、这...

    Thinking+in+AJAX

    4. **Google Suggest的例子**:Google Suggest是AJAX技术的一个经典应用,它没有使用XML封装返回数据,而是直接将数据组织成JavaScript代码,通过eval执行。这种方式直接、快速,但需要注意安全问题,因为eval可以...

    用AJAX实现类似GOOGLE搜索框的功能

    描述中的“一个非常好的AJAX例子”意味着这个压缩包中包含了一个具体的示例代码或教程,可以作为参考学习。而“把他增加到我们的项目中把”则暗示了这个AJAX实现的搜索建议功能适用于实际项目开发,具有实用价值。 ...

Global site tag (gtag.js) - Google Analytics