如何在文本框输入第一个字后,自动出现下拉框提示匹配的值(从数据库中获得)?用C#.net,JS,AJAX实现。
就像在Google里,输入一个有过的字,会出现提示一样。
能给出具体的Code吗? 或哪里能得到控件?谢谢!
就像在Google里,输入一个有过的字,会出现提示一样。
能给出具体的Code吗? 或哪里能得到控件?谢谢!
解决方案 »
- |zyciis| 第三贴求:如何在后台获取到当前页面提交的所有HTML源码 sp1234 的方法只是一个变像来完成的,能不能在后台直接取得
- 我在后台删除datagrid里的一条记录后,点击页面上的后按纽后,还能看到刚才删除的那条记录!怎样才能后退后更新一下datagrid里的数据使刚
- c#中函数重载的定义
- 在.NET的WEB控件中,如何设置Button控件的功能是重置表单???
- (在线)error BC30205: 需要语句结束 error BC30451: 名称“parameters”未声明
- 怪问题,高手进来看看
- 关于cookie生效的问题,在线急等!
- asp.net(管理员权限)调用服务器应用程序,有时出现计数器禁用的问题,高手帮忙啊!
- 如何在IIS6.0下部署ASP.NET mvc4的项目
- 大家看看这个功能该怎么实现。说说自己的看法吧..顶着有分.
- VS2008 嵌套母版页时,只能运行第一个母版页的Page_Load
- "语法错误:“=”运算符后缺少操作数
要javascript + ajax 等实现
将一下代码部署到iis上,输入d匹配出d1 d2 d3 d4 d5
输入dd匹配出dd1 dd2 dd3 dd4 dd5
Index.html文件:
<html>
<head>
<script>
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function startRequest(data)
{
createXMLHttpRequest();
try
{
xmlHttp.onreadystatechange = function(){handleStateChange(data);}
xmlHttp.open("GET", "data.xml", true);
xmlHttp.send(null);
}
catch(exception)
{
alert("xmlHttp Fail");
}
}
function handleStateChange(data)
{
if(xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200 || xmlHttp.status == 0)
{
var root = xmlHttp.responseXML.documentElement;
try
{
var info = root.getElementsByTagName(data)[0];
var text = info.firstChild.nodeValue;
var array = text.split("-");
var obj = document.getElementById("div1");
obj.style.display = "block";
obj.innerHTML = "";
for(var i=0; i<array.length; i++)
{
obj.innerHTML = obj.innerHTML + "<span style='display:block' onclick='spanClick()' onmouseover='spanMouseOver()'>" + array[i] + "</span>";
}
}
catch(exception)
{
var obj = document.getElementById("div1");
obj.style.display = "block";
obj.innerHTML = "";
}
}
}
}
function textChange(data)
{
if(data == "")
{
var obj = document.getElementById("div1");
obj.style.display = "block";
obj.innerHTML = "";
}
else
{
startRequest(data);
}
}
function spanClick()
{
var spanObj=event.srcElement;
var textObj = document.getElementById("text1");
textObj.value = spanObj.innerHTML;
var divObj = document.getElementById("div1");
divObj.style.display = "none";
divObj.innerHTML = "";
}
var oldSpanObj;
function spanMouseOver()
{
if(oldSpanObj != null)
{
oldSpanObj.style.backgroundColor = "#FFFFFF";
}
var spanObj=event.srcElement;
spanObj.style.backgroundColor = "#FF7788";
oldSpanObj = spanObj;
}
</script>
</head>
<body>
<input type="text" id="text1" onpropertychange="textChange(this.value);" />
<br>
<div id="div1" style="border:1px solid #8877EE;display:none;position:absolute;width:146;background-color:#EEFFFF">
</div>
</body>
</html>data.xml文件:
<?xml version="1.0" encoding="GB2312"?>
<root>
<d>d1</d>
<dd>dd1-dd2</dd>
<ddd>ddd1-ddd2-ddd3</ddd>
<dddd>dddd1-dddd2-dddd3-dddd4</dddd>
<ddddd>ddddd1-ddddd2-ddddd3-ddddd4-ddddd5</ddddd>
</root>