引入所需文件

<script type="text/javascript" src="JS/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="JS/jquery.autocomplete.min.js"></script>
<link href="CSS/jquery.autocomplete.css" rel="stylesheet" />

动态单属性数据源

前台代码:

$(document).ready(function () {
$("#txtAutoComplete").autocomplete("AutoComplete.ashx", {
max: 10, //列表里的条目数
minChars: 1, //自动完成激活之前填入的最少字符
scrollWidth: 173, //提示的宽度,溢出隐藏
scrollHeight: 200, //提示的高度,溢出显示滚动条
scroll: true, //是否显示滚动条
matchContains: true, //包含匹配,是否只显示匹配项
autoFill: false, //自动填充
//此处实际请求的URL为"AutoComplete.ashx?q='[你在txtAutoComplete中输入的值]'&action='autoComplete'&value='guo'"
extraParams: { action: "autoComplete", value: "guo" },
//格式化列表中的条目 row:条目对象,i:当前条目index,max:总条目数
formatItem: function (row, i, max) {
//【不用转化为js对象,但必须返回row.toString()】
return row.toString();
},
//配合formatItem使用,作用在于,由于使用了formatItem,所以显示的条目内容有所改变,
//而我们要匹配的是原始的数据,所以用formatMatch做一个调整,使之匹配原始数据
formatMatch: function (row, i, max) {
//【不用转化为js对象,但必须返回row.toString()】
return row.toString();
},
//设置用户选择某一条目后文本框显示的内容
formatResult: function (row) {
//【不用转化为js对象,但必须返回row.toString()】
return "文本框显示的结果:" + row.toString();
}
}).result(function (event, row, formatted) {
//获取用户选择的条目
alert(row.toString());
});
});
<body>
<form id="form1" runat="server">
请输入:<input type="text" id="txtAutoComplete" />
</form>
</body>

AutoComplete.ashx后台代码:

public class AutoComplete : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//text表示用户在文本框输入的内容
string text = context.Request.QueryString["q"];
string action = context.Request.QueryString["action"];
string value = context.Request.QueryString["value"];
<!--各项之间必须用"\n"隔开,不能用","隔开-->
string strResult = "guo\ntong\nchang\nwang\nhao\nbang";
context.Response.Write(strResult);
} public bool IsReusable
{
get
{
return false;
}
}
}

动态多属性数据源

前台代码:

$(document).ready(function () {
$("#txtAutoComplete").autocomplete("AutoComplete.ashx", {
max: 10, //列表里的条目数
minChars: 1, //自动完成激活之前填入的最少字符
width: 173, //提示的宽度,溢出隐藏
scrollHeight: 200, //提示的高度,溢出显示滚动条
scroll: true, //是否显示滚动条
matchContains: true, //包含匹配,是否只显示匹配项
autoFill: false, //自动填充
//此处实际请求的URL为"AutoComplete.ashx?q='[你在txtAutoComplete中输入的值]'&action='autoComplete'&value='guo'"
extraParams: { action: "autoComplete", value: "guo" },
//格式化列表中的条目,使其以自定义格式显示
//row:条目对象,i:当前条目index,max:总条目数
formatItem: function (row, i, max) {
//转换成js对象 【不同点1】
var obj = eval('(' + row + ')');
return i + "/" + max + ": " + obj.key + obj.value;
},
//配合formatItem使用,作用在于,由于使用了formatItem,所以显示的条目内容有所改变,
//而我们要匹配的是原始的数据,所以用formatMatch做一个调整,使之匹配原始数据
formatMatch: function (row, i, max) {
//转换成js对象
var obj = eval('(' + row + ')');
return "Match:" + obj.key + row.value;
},
//设置用户选择某一条目后文本框显示的内容
formatResult: function (row) {
//转换成js对象
var obj = eval('(' + row + ')');
return "文本框显示的结果:" + obj.key;
}
}).result(function (event, row, formatted) {
//获取用户选择的条目,并转换成js对象
var obj = eval('(' + row + ')');
alert(obj.key);
});
});
<body>
<form id="form1" runat="server">
请输入:<input type="text" id="txtAutoComplete" />
</form>
</body>

AutoComplete.ashx后台代码:

public class AutoComplete : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//text表示用户在文本框输入的内容
string text = context.Request.QueryString["q"];
string action = context.Request.QueryString["action"];
string value = context.Request.QueryString["value"];
<!--数据格式【不同点2】-->
<!--各项之间必须用"\n"隔开,不能用","隔开-->
string strResult = "{key:\"one\",value:\"第一\"}\n"+
"{key:\"two\",value:\"第二\"}\n"+
"{key:\"three\",value:\"第三\"}\n"+
"{key:\"four\",value:\"第四\"}\n"+
"{key:\"five\",value:\"第五\"}\n"+
"{key:\"six\",value:\"第六\"}";
context.Response.Write(strResult);
} public bool IsReusable
{
get
{
return false;
}
}
}

jquery.autocomplete.min.js文件免费下载地址:http://download.csdn.net/detail/xiaouncle/9618021 
jquery.autocomplete.css文件免费下载地址:http://download.csdn.net/detail/xiaouncle/9618024

转摘:http://blog.csdn.net/xiaouncle/article/details/52372974

转摘:ashx+jquery-autocomplete文本框输入提示功能Asp.net的更多相关文章

  1. Jquery实现文本框输入提示

    一些用户体验好的表单都会在文本框里设置输入提示,文本框获取焦点时,提示内容消息,如果未输入,失去焦点时又会出现提示. 网上找到一个比较好用的控件jquery.inputDefault.js 使用方法: ...

  2. 分享一个仅0.7KB的jQuery文本框输入提示插件

    由于项目需要,找过几个jQuery文本框输入提示插件来用,但总是有不满意的地方,要么体积较大,要么使用不便,要么会出现把提示文字作为文本框的值的情况.于是我们自己的开发团队制作了这个最精简易用的输入提 ...

  3. ASP.NET输入文本框自动提示功能

    在ASP.NET Web开发中会经常用到自动提示功能,比如百度搜索.我们只要输入相应的关键字,就可以自动得到相似搜索关键字的提示,方便我们快速的输入关键字进行查询. 那么在ASP.NET中,如果我们需 ...

  4. Jquery 限制文本框输入字数【转】

    <script type="text/javascript" src="js/jquery.min.js" ></script> < ...

  5. 使用jquery实现文本框输入特效:文字逐个显示逐个消失反复循环

    前两天看到某个网站上的输入框有个小特效:文字逐个显示,并且到字符串最大长度后,逐个消失,然后重新循环显示消失,循环显示字符串数组.我对这个小特效有点好奇,于是今天自己尝试用jquery写一个简单的小d ...

  6. jquery判断文本框输入的是非数字内容(交流QQ群:452892873)

    isNaN($(this).val())==false   输入的是数字, isNaN($(this).val())==true  输入的是非数字内容

  7. jQuery限制文本框的输入长度

    jQuery限制文本框输入,包含粘贴. //限制文本框的输入长度 $(function () { $(document).on("keypress", ".txt-val ...

  8. 用Jquery控制文本框只能输入数字和字母

    用Jquery控制文本框只能输入数字和字母 $.fn.onlyNum = function () { $(this).keypress(function (event) { var eventObj ...

  9. JQuery 限制文本框只能输入数字和小数点

    $(function(){ /*JQuery 限制文本框只能输入数字*/ $(".NumText").keyup(function(){ $(this).val($(this).v ...

随机推荐

  1. JavaScript JSON.parse()和JSON.stringify()

    parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...

  2. Unity3d 背景、音效 播放 简单demo

    仅实现功能,AudioListener在MainCamera中 using UnityEngine; using System.Collections; using System.Collection ...

  3. wlan接收器如何共享网络

    无线局域网络(Wireless Local Area Networks: WLAN)是相当便利的数据传输系统,它利用射频(Radio Frequency: RF)的技术,取代旧式碍手碍脚的双绞铜线(C ...

  4. Python Requests快速入门

    迫不及待了吗?本页内容为如何入门Requests提供了很好的指引.其假设你已经安装了Requests.如果还没有, 去 安装 一节看看吧. 首先,确认一下: Requests 已安装 Requests ...

  5. YARN学习笔记——Overview and Architecture

    YARN的简介 什么是YARN MRv1的架构和缺陷 经典MapReduce的局限性 解决可伸缩性问题 YARN的架构 一个可运行任何分布式应用程序的集群 YARN中的应用程序提交 YARN的其他特性 ...

  6. 1132. Cut Integer (20)

    Cutting an integer means to cut a K digits long integer Z into two integers of (K/2) digits long int ...

  7. 记录几个基础的SQL开发题

    1. 表A有5行数据,表B有7行数据,问Inner Join最多返回几行数据,Left Join最多返回几行数据,分别在什么情况下? Inner Join 是返回关联表的Cartesian produ ...

  8. CLR 对比 JVM

    首先,CLR和JAVA虚拟机(Java Virtual Machine,简称:JVM)并非一个层面的系统.前者可松散地被描述为just-in-time(JIT)优化编译器和垃圾收集器的混合物,而后者仅 ...

  9. BZOJ3790:神奇项链

    浅谈\(Manacher\):https://www.cnblogs.com/AKMer/p/10431603.html 题目传送门:https://lydsy.com/JudgeOnline/pro ...

  10. 关于 Android 中未公开的类(用@hide隐藏的类)

    关于 Android 中未公开的类(用@hide隐藏的类) 摘自:http://wangsheng2008love.blog.163.com/blog/static/78201689201142643 ...