<!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> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>带下拉列表的输入框 - 分享JavaScript-sharejs.com</title> </head> <body><br> <input onkeyup="showtips();if(event.keyCode==27)c();" id=txt onkeydown='enterTips()'>(例如: ShanDong)<br> <select id=sel style='display:none' onclick=rv() onkeydown='if(event.keyCode==13)rv()'></select> <script> var msg = new Array("Beijing","Tianjing","Shanghai","Guangdong","ShanDong","Shanxi","Hunan","Hubei"); var msg2=new Array("北京","天津","上海","广东","山东","陕西","湖南","湖北");
function showtips(){ eo=event.srcElement; sel.length=0; var len=msg.length; var re=new RegExp("^"+eo.value,"i") var j=0 for(i=0;i<len;i++) if(re.test(msg[i])==true){ sel.style.display='';sel.add(new Option(msg[i],msg2[i]));j++} sel.size = (j>1)?j:2; }
function enterTips(){ e=event.keyCode; if(sel.style.display!='none'){ if(e==13) event.srcElement.value=sel.value,sel.style.display='none'; if(e==40) sel.focus(); } } function rv(){ txt.value=sel.value; c() } function c(){ sel.style.display='none'; txt.focus() } document.onclick=function(){ c() } </script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>带下拉列表的输入框 - 分享JavaScript-sharejs.com</title>
</head>
<body><br>
<input onkeyup="showtips();if(event.keyCode==27)c();" id=txt onkeydown='enterTips()'>(例如: ShanDong)<br>
<select id=sel style='display:none' onclick=rv() onkeydown='if(event.keyCode==13)rv()'></select>
<script>
var msg = new Array("Beijing","Tianjing","Shanghai","Guangdong","ShanDong","Shanxi","Hunan","Hubei");
var msg2=new Array("北京","天津","上海","广东","山东","陕西","湖南","湖北");
function showtips(){
eo=event.srcElement;
sel.length=0;
var len=msg.length;
var re=new RegExp("^"+eo.value,"i")
var j=0
for(i=0;i<len;i++) if(re.test(msg[i])==true){ sel.style.display='';sel.add(new Option(msg[i],msg2[i]));j++}
sel.size = (j>1)?j:2;
}
function enterTips(){
e=event.keyCode;
if(sel.style.display!='none'){
if(e==13) event.srcElement.value=sel.value,sel.style.display='none';
if(e==40) sel.focus();
}
}
function rv(){
txt.value=sel.value;
c()
}
function c(){
sel.style.display='none';
txt.focus()
}
document.onclick=function(){
c()
}
</script>
<br><br>
<div align="center">
获取更多JavaScript代码,请登录JavaScript分享网 <a href="http://www.sharejs.com">http://www.sharejs.com</a>
</div>
</body>
</html>问一下 这个代码怎样更改可以在一个表单中 两个输入框的输入都能 自动提示,直接加语句的话 它的焦点始终不变。
<head>
<script type="text/javascript">
function selectOne(myselectid,keywords)//参数myselectid是select的id,参数keywords输入的keyword
{
keywords = keywords.replace(/ /g,""); //去掉空格
var myselect = document.getElementById(myselectid); //得到select对象
for(i=0;i<myselect.length;i++)// 循环option
{
if(myselect.options[i].text.indexOf(keywords)!=-1) //判断option的text是否包含keyword
{
myselect.options[i].selected=true;//选中
break;
}
else
{
myselect.options[i].selected=false; //不包含keywords的取消选中
}
}
}
</script>
</head>
<body>
<input id="input_text" type="text" onkeyup="selectOne('select_by_input',document.getElementById('input_text').value)"></input>
<select id="select_by_input">
<option>请选择......</option>
<option>文本框与下拉列表的组合</option>
<option>不包含keywords的取消选中</option>
<option>Java编程思想第四版</option>
<option>判断option的text是否包含keyword</option>
<option>参数myselectid是select的id</option>
<option>得到select对象</option>
<option>去掉空格</option>
<option>循环option</option>
</select>
</body>
</html>
不知你是否要这样的效果