【发布时间】:2013-09-17 10:09:28
【问题描述】:
<!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=utf-8" />
<title>autoomplete</title>
<style>
.hidden1
{
margin: 10px;
padding: 10px;
border: 2px solid #00CC99;
width: 200px;
border-radius: 5px;
}
</style>
</head>
<script>
function showlist()
{
if(!((/^\s*$/).test(edit1.value)))
{
document.getElementById("dropdown").style.display="block";
var tex=edit1.value;
var name = new Array("python","django framework","mongodb");
for(var i = 0;i< name.length;i++)
{
if(name[i].indexOf(tex) != -1)
{
add(name[i],name[i]);
} } } }
function add(Text,Value)
{
var opt = document.createElement("option");
listbox1.options.add(opt);
opt.text = Text;
opt.value = Value;
}
function selval(listval)
{
edit1.value = listval.value;
listval.style.display="none";
}
</script> <body>
<div >
<center>Autocomplete:<input type="text" id="edit1" name="edit1" onkeyup="showlist()"> </center>
</div>
<div id="dropdown" style="display:none" align="center" >
<select id="listbox1" size="3" name="listbox1" onclick="selval(this)" class="hidden1">
</select> </div> </body></html>
伙计们,我使用 javascript 创建了一个自动完成文本字段。在浏览器中,只要传递匹配的字符串,就会出现自动提示框,但是每当我点击退格键时,onkeyup 没有触发并且无法获得我创建的自动提示。请给我一个解决这个问题的方法 提前谢谢!
【问题讨论】:
-
函数 showlist() var tex=edit1.value;什么是edit1?
-
获取文本字段edit1.value(name.value)的值到变量tex
-
您的
onkeyup事件正在调用函数showlist并传递一个参数(this)。但是您的showlist函数不接受参数...请您为此敲一个小提琴 (jsfiddle.net)。 -
即使将该参数传递给 showlist 函数也不会造成障碍,但我的查询是 onkeyup 在按下退格键时不会触发
-
更改需要的函数 showlist(dis) var tex = dis.value
标签: javascript html css onkeyup