Hej! Den där verkar vara för autocomplete i textbox eller har jag fel? Vill ha för gridview. Är det en textbox i en gridview som du vill "ajaxfiera" eller resultet i hela gridviewen utifrån vad som hittills skrivit i "sökrutan"? Det sistnämda, "resultet i hela gridviewen utifrån vad som hittills skrivit i "sökrutan"" Detta är lite labbkod. Men denna kod frågar en aspx som returnerar.AJAX autocomplete som Prisjakt.
Har en sida med ett sökfält (textbox) och en gridview som resultatet visas i. Skulle vilja AJAXfisera denna. Kan man göra detta på något smart sätt. Skulle t.ex. vilja att den bara kollar mot servern om man skrivit in ett visst antal tecken o.s.v. på liknande sätt som Autocomplete-extendern.Sv: AJAX autocomplete som Prisjakt.
Svara
Sv:AJAX autocomplete som Prisjakt.
Sv:AJAX autocomplete som Prisjakt.
Sv: AJAX autocomplete som Prisjakt.
Sv: AJAX autocomplete som Prisjakt.
<code>
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Language" content="sv" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script>
var req;
function Initialize()
{
try
{
req=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
req=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
req=null;
}
}
if(!req&&typeof XMLHttpRequest!="undefined")
{
req= new
XMLHttpRequest();
}
} function
SendQuery(key)
{
Initialize();
var url="ajaxcb.aspx?k="+encodeURI(key);
if(req!=null)
{
req.onreadystatechange = Process;
req.open("GET", url, true);
req.send(null);
}
}
function Process()
{
if (req.readyState == 4)
{
// only if "OK"
if (req.status == 200)
{
if(req.responseText=="")
HideDiv("autocomplete");
else
{
ShowDiv("autocomplete");
document.getElementById("autocomplete").innerHTML =req.responseText;
}
}
else
{
document.getElementById("autocomplete").innerHTML=
"There was a problem retrieving data:<br>"+req.statusText;
}
}
}
function ShowDiv(divid)
{
if (document.layers) document.layers[divid].visibility="show";
else document.getElementById(divid).style.visibility="visible";
}
function HideDiv(divid)
{
if (document.layers) document.layers[divid].visibility="hide";
else document.getElementById(divid).style.visibility="hidden";
}
function BodyLoad()
{
HideDiv("autocomplete");
document.form1.keyword.focus();
}
</script>
</head>
<body onload="BodyLoad();">
<form id="form1" runat="server">
This is AJAX!
<br />
<br />
Logg in!
<asp:Button id="Button1" OnClick="Button1_Click" runat="server" Text="Logga in"></asp:Button>
<br />
<br />
Print our name!
<br />
<input onkeyup="SendQuery(this.value)" style="WIDTH: 500px" name="keyword" autocomplete="off" />
<div class="box" id="autocomplete" style="WIDTH: 500px; BACKGROUND-COLOR: #ccccff; text-align:left;" >
</div>
</form>
</body>
</html>
</code>