52,782
社区成员
发帖
与我相关
我的任务
分享
#search_suggest{
position: relative;
background-color: #FFFFFF;
text-align: left;
border: 1px solid #000000;
/*left: 1px;
top: 0px;*/
height: 60px;
width: 213px;
display:none;
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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 runat="server">
<title>自动完成</title>
<style type="text/css">
#dSuggest {
z-index:0;
position:absolute;
background-color:#ffffff;
}
#sug {
list-style:none;
border:solid 1px #09f;
margin-left:0;
margin-top:0;
width:300px;
padding-left:0;/*添加此项,修改在FF中的样式*/
}
#sug li {
width:100%;
padding-left:2px;
margin-left:2px;
}
#sug span {
position:absolute;
z-index:200;
right:3px;
}
.select {
background-color:#09f;
color:#ffffff;
cursor:default;
}
</style>
<script type="text/javascript">
var XMLHttp=false;
var j=-1;
function CreateXMLHttpRequest() {
if(window.ActiveXObject)
{
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
XMLHttp = new XMLHttpRequest();
}
if(!XMLHttp && typeof XMLHttpRequest != 'undefined') {
XMLHttp = new XMLHttpRequest();
}
}
function GetSuggest(keyword,e) {
var keyc=GetKeyCode(e);
if(keyc==40 || keyc==38 || keyc==13)
return;
var _url="Search.ashx?keyword="+escape(keyword);
CreateXMLHttpRequest();
XMLHttp.onreadystatechange=function(){
if(XMLHttp.readyState==4) {
if(XMLHttp.status==200) {
$("dSuggest").innerHTML=XMLHttp.responseText;
// var obj=XMLHttp.responseXML.documentElement;
// alert(obj.childNodes[1].childNodes[0].nodeValue);
// var obj2=XMLHttp.responseXML;//这种写法不支持FF
// alert(obj2.childNodes[1].childNodes[0].childNodes[0].nodeValue);
j=-1;
}
}
}
XMLHttp.open("get",_url,true);
XMLHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
XMLHttp.send(null);
}
function set_style(num) {//设置样式
for(var i=0;i<$$().length;i++) {
if(i>=0 && i<$$().length&&i==num) {
$$()[i].className="select";
}
else
{
$$()[i].className="";
}
}
}
function mo(nodevalue) {
j=nodevalue;
set_style(j);
}
function form_submit() {
var lis=$$();
if(lis==null)
return;
for(var i=0;i<lis.length;i++) {
if(lis[i].className=="select") {
var key=lis[i].innerHTML.substring(0,lis[i].innerHTML.toUpperCase().indexOf("<SPAN>"));
$('txtKeyword').value=key;
$("dSuggest").innerHTML="";
}
}
}
function updown(e) {
var keyc=GetKeyCode(e);
if(keyc==40 || keyc==38) {
if($$()==null)
return;
if(keyc==40) {
j++;
if(j>=$$().length)
{
j=0;
}
} else if(keyc==38) {
j--;
if(j==-1)
j=$$().length-1;
}
set_style(j);
}
}
function GetKeyCode(e) {//取得不同浏览器下的键盘事件值
var keyc;
if(window.event) {//ie键盘事件
keyc=e.keyCode;
} else if (e.which) {//火狐
keyc=e.which;
}
return keyc;
}
function $(id) {
return document.getElementById(id);
}
function $$() {
var ul=$("sug");
if(ul==null)
return null;
return ul.getElementsByTagName("li");
}
//getPos(this,'Left'),getPos(this,'Top')+this.offsetHeight
function getPos(el,sProp) {
var iPos = 0;
while (el!=null) {
iPos+=el["offset" + sProp];
el = el.offsetParent;
}
return iPos;
}
function setPosition(obj) {
$('dSuggest').style.left=getPos(obj,'Left');
$('dSuggest').style.top=getPos(obj,'Top')+obj.offsetHeight
}
</script>
<style type="text/css">
</style>
</head>
<body onload="setPosition($('txtKeyword'))">
<form id="form1" runat="server" onkeypress="if(GetKeyCode(event)==13){return false;}">
<div>
<input type="text" onkeydown="if(GetKeyCode(event)==13)form_submit()" onkeyup="GetSuggest(this.value,event);updown(event)" autocomplete="off" id="txtKeyword" />
<div id="dSuggest"></div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
#search_suggest{
position: relative;
background-color: #FFFFFF;
text-align: left;
border: 1px solid #000000;
/*left: 1px;
top: 0px;*/
height: 60px;
width: 213px;
display:none;
z-index:1;
}