日期:2014-05-19  浏览次数:20708 次

输入框与下拉链表的组合
<!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>
  
 
<br><br>
<div align="center">
获取更多JavaScript代码,请登录JavaScript分享网 <a href="http://www.sharejs.com">http://www.sharejs.com</a>
</div>
</body>
</html>

问一下 这个代码怎样更改可以在一个表单中 两个输入框的输入都能 自动提示,直接加语句的话 它的焦点始终不变。

------解决方案--------------------
这没有样式的代码我实在是看不下去啊......
------解决方案--------------------
方法中加上this,把自己传过去,用力区分msg,msg1,就可以了的!