日期:2014-05-16  浏览次数:20626 次

求 百度智能提示框原理
百度的智能提示大家已经知道了,但是我不太懂他的原理。现在有一个想法:
我在文本框里输入了文字,把百度的智能提示框里提示的内容全都显示出来。
ag:我输入了新闻,把下拉框里“新闻网、新闻联播。。”等值全部保存起来怎么做。

------解决方案--------------------
学习一下prototype那个框架和jQuery差不多的很容易实现自动补全 ,看一下就ok了 自己搜吧!
http://search.download.csdn.net/search/prototype也不要你搜了 就这些吧
------解决方案--------------------
引用:
可能是我说的不够清楚吧,我是说我要取百度里下拉菜单里的值。是百度里的下拉菜单值。不是我自己数据库里的。我在文本框里输入字符串以后,把百度返回给用户的下拉单里的值保存到数据库

baidu在客户端循环生成div(这些div一定是有一定规律的,并不同于其他区域的div),你只要获取这些div的innerHTML就行了,然后插入数据库中
------解决方案--------------------
要自己写起来还真是有那么一点点麻烦~尤其是调效果。

function change(sword){
highlight=-1;
var url = "/searchAjax.asp?q=" + sword + "&\r\=" + Math.random();
ajax.get( 
url,
function(obj) {
if (obj.responseText=="err30"){
set($("sAlert"),"");
$("sAlert").style.display="none";
}
else
{
set($("sAlert"),obj.responseText);
$("sAlert").style.display="block";
                                                return true;
}
}
);
}

function hideSword(){
if(getFocus==false){
set($("sAlert"),"");
$("sAlert").style.display="none";
                                highlight=-2;
}else{
return true;
}
}

function S(OBJ){
$('searchword').value=OBJ.innerHTML;
$('sAlert').style.display='none';
$('formsearch').submit();
}

function checkKey(e,sword){
if(e.keyCode==13){
$('sAlert').style.display='none';
check();
}else if(e.keyCode==40){
if(highlight==-2){change(sword);return false;}
highlight++;
var total = $('sTab').rows.length-1;
if(highlight>total){highlight=0;}
for(i=0;i<=total;i++){
if(i==highlight){
$('sTab').rows[i].style.background='#1181bf';
$('sTab').rows[i].style.color='#FFFFFF';
$('searchword').value=$('sTab').rows[i].cells[0].innerHTML;
} else {
$('sTab').rows[i].style.background='#FFFFFF';
$('sTab').rows[i].style.color='#000000';
}
}
}else if(e.keyCode==38){
highlight--;
var total = $('sTab').rows.length-1;
if(highlight<0){highlight=total;}
for(i=0;i<=total;i++){
if(i==highlight){
$('sTab').rows[i].style.background='#1181bf';
$('sTab').rows[i].style.color='#FFFFFF';
$('searchword').value=$('sTab').rows[i].cells[0].innerHTML;
} else {
$('sTab').rows[i].style.background='#FFFFFF';
$('sTab').rows[i].style.color='#000000';
}
}
if(highlight<0){highlight=0}
}else{change(sword);}
}



<input type="text" name="searchword" id="searchword" onkeyup="checkKey(event,this.value);" onblur="hideSword();" onclick="this.style.color='#000';if(this.value=='想找\'暮光之城3\'?试着输入\'mgzc3\'吧!') this.value='';" value="想找'暮光之城3'?试着输入'mgzc3'吧!" maxlength="26" autocomplete="off" />