VS2005中如此实现自动提示功能
C#asp.net我想在TextBox中实现类似百度搜索的自动提示功能,提示字符集从数据源中某一列中取跪求高手点拨...
C# asp.net
我想在TextBox中实现类似百度搜索的自动提示功能,提示字符集从数据源中某一列中取
跪求高手点拨 展开
我想在TextBox中实现类似百度搜索的自动提示功能,提示字符集从数据源中某一列中取
跪求高手点拨 展开
4个回答
展开全部
在页面布局当中加一个DIV,位置在TextBox的下面,
然后给TextBox加个onchange事件,
onchang事件,调用AJAX,将当前textbox的值进行查询,结果通过ajax动态反应在div当中,
div当中,你可以使用li或者div,然后加上onmouseover事件和onclick事件。。。
等下我做个例子,在补上来。。。
大概例子,,,
页面aspx内容
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!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">
.hide
{
display:none;
}
.selected
{
background-color:Blue;
}
</style>
<script type="text/javascript" src="JS/jquery.js"></script>
<script type="text/javascript">
function txtchange() {
$.ajax({
type: "GET",
url: "Handler/Handler.ashx",
data: "action=getSearch&value=" + $("#txt").val(),
success: function(returnvalue) {
$("#divsearch").empty();
$("#divsearch").append(returnvalue);
$("#divsearch").removeClass("hide");
}
});
}
function iclick(item) {
$("#txt").val(item.innerText);
$("#divsearch").addClass("hide");
}
function ionmouseover(item) {
item.className = "selected";
}
function ionmouseout(item) {
item.className = "";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" style="width:150px;" id="txt" onkeypress="txtchange()"/>
<div style="width:154px;border:solid 1px black;" class="hide" id="divsearch"></div>
</div>
</form>
</body>
</html>
Handler.ashx内容:
public void ProcessRequest(HttpContext context)
{
//context.Response.ContentType = "text/plain";
//context.Response.Write("Hello World");
string value = context.Request.QueryString["value"];
string returnvalue = "false";
DataTable objDT;
try
{
if (context.Request.UrlReferrer.Authority != ConfigurationManager.AppSettings["allowDomain"])
{
throw new Exception("非法请求!");
}
switch (context.Request.QueryString["action"])
{
case "getSearch":
context.Response.Write("<div onclick='iclick(this)' onmouseover='ionmouseover(this)' onmouseout='ionmouseout(this)'>a</div><div onclick='iclick(this)' onmouseover='ionmouseover(this)' onmouseout='ionmouseout(this)'>aaa</div>");
break;
}
}
catch (Exception ex)
{
context.Response.Write(ex.Message);
}
}
在这里你可以用value 去做你要做的事情。。。
然后给TextBox加个onchange事件,
onchang事件,调用AJAX,将当前textbox的值进行查询,结果通过ajax动态反应在div当中,
div当中,你可以使用li或者div,然后加上onmouseover事件和onclick事件。。。
等下我做个例子,在补上来。。。
大概例子,,,
页面aspx内容
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!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">
.hide
{
display:none;
}
.selected
{
background-color:Blue;
}
</style>
<script type="text/javascript" src="JS/jquery.js"></script>
<script type="text/javascript">
function txtchange() {
$.ajax({
type: "GET",
url: "Handler/Handler.ashx",
data: "action=getSearch&value=" + $("#txt").val(),
success: function(returnvalue) {
$("#divsearch").empty();
$("#divsearch").append(returnvalue);
$("#divsearch").removeClass("hide");
}
});
}
function iclick(item) {
$("#txt").val(item.innerText);
$("#divsearch").addClass("hide");
}
function ionmouseover(item) {
item.className = "selected";
}
function ionmouseout(item) {
item.className = "";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" style="width:150px;" id="txt" onkeypress="txtchange()"/>
<div style="width:154px;border:solid 1px black;" class="hide" id="divsearch"></div>
</div>
</form>
</body>
</html>
Handler.ashx内容:
public void ProcessRequest(HttpContext context)
{
//context.Response.ContentType = "text/plain";
//context.Response.Write("Hello World");
string value = context.Request.QueryString["value"];
string returnvalue = "false";
DataTable objDT;
try
{
if (context.Request.UrlReferrer.Authority != ConfigurationManager.AppSettings["allowDomain"])
{
throw new Exception("非法请求!");
}
switch (context.Request.QueryString["action"])
{
case "getSearch":
context.Response.Write("<div onclick='iclick(this)' onmouseover='ionmouseover(this)' onmouseout='ionmouseout(this)'>a</div><div onclick='iclick(this)' onmouseover='ionmouseover(this)' onmouseout='ionmouseout(this)'>aaa</div>");
break;
}
}
catch (Exception ex)
{
context.Response.Write(ex.Message);
}
}
在这里你可以用value 去做你要做的事情。。。
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
展开全部
自动提示功能 功能主要是通过TextBox的这三个属性控制:
AutoCompleteCustomSource 获取或设置在 AutoCompleteSource 属性设置为 CustomSource 时使用的自定义 System.Collections.Specialized.StringCollection。
AutoCompleteMode
获取或设置控制自动完成如何作用于 TextBox 的选项。
AutoCompleteSource 获取或设置一个值,该值指定用于自动完成的完整字符串源。
AutoCompleteCustomSource 获取或设置在 AutoCompleteSource 属性设置为 CustomSource 时使用的自定义 System.Collections.Specialized.StringCollection。
AutoCompleteMode
获取或设置控制自动完成如何作用于 TextBox 的选项。
AutoCompleteSource 获取或设置一个值,该值指定用于自动完成的完整字符串源。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然说点拨那就只说原理,相信你能实现出来:
在textbox下放一个listbox,初始visible为false, textbox的值有变化时,并ajax请求数据(根据textbox的当前值去查询),得到数据后visible为true。textbox失去焦点后listbox的visible恢复为false。
在textbox下放一个listbox,初始visible为false, textbox的值有变化时,并ajax请求数据(根据textbox的当前值去查询),得到数据后visible为true。textbox失去焦点后listbox的visible恢复为false。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入的时候, 在输入的焦点位置 show一个窗口,窗口里面显示所要的信息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询