首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

关于 文本框输入 显示有关问题

2012-04-23 
关于 文本框输入 显示问题例如:在文本框中输入ID号在输入的过程中,输入部分ID号,文本框下方显示出从数据库

关于 文本框输入 显示问题
例如:
在文本框中输入ID号

在输入的过程中,输入部分ID号,文本框下方显示出从数据库中模糊查询的结果

 数据库中存在的ID
100000
110000
111000
111100
111110
111111

当输入11时,文本框下面显示
110000
111000
111100
111110
111111

请教各位高手

[解决办法]
用Ajax吧
参考http://www.cnblogs.com/Terrylee/archive/2006/08/07/atlas_series_articles.html提供的讲解 
http://terrylee.cnblogs.com/archive/2006/07/27/Atlas_AutoCompleteExtender.html

[解决办法]

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head>    <title></title>    <style type ="text/css">    html,body{width:100%;height:100%}    ul{padding:0px;margin:0px;list-style:none;}    li{cursor:pointer;padding:0px 5px; line-height:25px;height:25px;border-bottom:1px solid #dee; }    .show{position:absolute; z-index:9999; width:200px; height:auto; display:none;border:1px solid #ddd; background-color:#fff}    </style></head><body> <p> <table id="tb" border=1>     <tr><td><input type='text'  /></td><td>aaaaaaaa</td></tr>     <tr><td><input type='text' /></td><td>bbbbbbbb</td></tr>     <tr><td><input type='text' /></td><td>cccccccc</td></tr> </table>    </div>    </p></body><script type="text/javascript">var  keys=['ada','sdfsd','bbb','sfga','dfhgfh','235s','dfew','ghjk','hjkghjk','fgjgfjf','fghjgfj','2345f','fthtr','sfgerw','tyerth','vnmu','wertewr','wert','asdfaf','zxcvd','gkju','dvfgdh','2354af','adsf','erterter','fghdfg','xvdfg','kjhu','qweasdas','xzce','werwre','zzczc','rtewtrew']; //  搜索值,可以用Ajax从数据库获取function init(txt){      var   divShow = document.createElement("div");      divShow.className ="show";       document.body.appendChild(divShow);         divShow.onclick=function(e)        {            doClick(e,txt,this);        };        txt.onclick=function(e)        {             doClick(e,this,divShow);        };    txt.onkeyup=function(e){getSearchKeys(this,divShow);};        bindEvent(document.body,'click',function()    {         divShow.style.display = "none";    });}function doClick(e,txt,divShow){      e = e||event;     var t = e.target||e.srcElement    if(t.tagName.toLowerCase()=='li')    {       txt.value = t.innerHTML;        divShow.style.display = "none";       return;    }    /**    if(e && e.stopPropagation){      //W3C取消冒泡事件      e.stopPropagation();      }else{      //IE取消冒泡事件      window.event.cancelBubble = true;      }      */}function getSearchKeys(txt,divShow){  var s= txt.value.trim();    if(s=='')    {        divShow.style.display = "none";        return;    }      var arr=['<ul>'];      for(var i=0;i<keys.length;i++)      {        if(keys[i].indexOf(s)>=0){        arr.push('<li>'+keys[i]+'</li>');        }      }          if(arr.length>1){        arr.push('</ul>');        divShow.innerHTML = arr.join('');        var p =getAbsPoint(txt);         divShow.style.left = p.x +'px';         divShow.style.top = p.y + txt.offsetHeight + 'px';        divShow.style.display = "block";      }else{        divShow.style.display = "none";      }}function getAbsPoint(e){    var x = e.offsetLeft;    var y = e.offsetTop;    while(e = e.offsetParent)    {        x += e.offsetLeft;        y += e.offsetTop;    }    return {"x": x, "y": y};}String.prototype.trim=function(){    return this.replace(/(^\s*)|(\s*$)/g,'');};function bindEvent(obj,evt,fun) {     if(window.addEventListener){           obj.addEventListener(evt, function(e){ fun(e);},false);      }else{           obj.attachEvent('on'+evt,fun);         }}window.onload=function(){    var inputs= document.getElementById("tb").getElementsByTagName("input");    for(var i=0;i<inputs.length;i++)    {            init(inputs[i]);    }    };</script></html> 


[解决办法]
这就是传说中的google suggest

热点排行