注:本次案列实现功能为 用户注册信息,如果数据库对应表中存在部分信息,点击已有的用户的用户名,自动补全其它已有的基本信息

实现思路:通过AutoComplete提示,异步通过用户名查询全表,充当AutoComplete数据源source , 当点击文本框输入用户名前一个字时,把从数据库中匹配到的用户名绑定到下拉框中,当点击下拉框中的用户名时,自动补全其它信息

1:首先引入需要的文件:两个js文件,两个css文件 如下:

<link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css">

<script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>

<script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>

<link rel="stylesheet" href="jqueryui/style.css">

前段html代码:

<form id="form1" runat="server">
<asp:TextBox ID="txtName" runat="server"></asp:TextBox> 用户名
<br />
<asp:TextBox ID="txtPhone" runat="server"></asp:TextBox> 电话
<br />
<asp:TextBox ID="txtAdd" runat="server"></asp:TextBox> 家庭住址
</form>

JavaScript代码:

<script>
$(function () {
$("#txtName").autocomplete({ //用户名
minLength: 0,
source: "Handler.ashx", 异步查出的全表数据充当数据源
focus: function (event, ui) { focus为焦点事件
$("#txtName").val(ui.item.UserName + " " + ui.item.Phone); //因为数据库中会有重名的 所有在这里我把用户名和电话一起绑出
return false
},
select: function (event, ui) { select为: 下拉框点击事件
$("#txtName").val(ui.item.UserName); 给用户名文本框赋值
$("#txtPhone").val(ui.item.Phone); 电话文本框赋值
$("#txtAdd").val(ui.item.Add); 家庭地址赋值
return false;
}
})
.data("ui-autocomplete")._renderItem = function (ul, item) { 拼出的li标签为样式
return $("<li>")
.append("<a>" + item.UserName + " " + item.Phone + "</a>")
.appendTo(ul);
};
});
</script>

异步C#代码:

 string querystring = context.Request["term"].ToString();  term为参数名  这个参数可以通过谷歌浏览器开发者查看,默认的参数,刚加载参数为空查询全表,当你点击用户名时候,team对应的值就是你点击的内容,接收到你点击的内容,去数据库中模糊查询
StringBuilder str = new StringBuilder();
DataSet ds = KangHui.BaseClass.DbHelperSQL.Query("select * from dbo.Users where UserName Like '%"+querystring+"%'", KangHui.Common.ConfigHelper.GetConnectionString("sqlconn"));
拼JSON串
if (ds.Tables[0].Rows.Count > 0)
{
str.Append("[");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
str.Append("{\"Phone\":\"" + ds.Tables[0].Rows[i]["Phone"] + "\",\"UserName\":\"" + ds.Tables[0].Rows[i]["UserName"] + "\",\"Age\":\"" + ds.Tables[0].Rows[i]["Age"] + "\"},");
}
str.Remove(str.Length - 1, 1);
str.Append("]");
} context.Response.Write(str.ToString());

代码到这里就基本结束啦!希望大神们多多指教哈!

jQuery-AutoComplete自动提示简单实现的更多相关文章

  1. 在eclipse-jee-juno中配置Aptana对jQuery代码自动提示

    主要问题 在Aptana的Web Project中打开js文件有JavaScript的自动提示,但是在JavaEE项目中却没有. 版本 eclipse-jee-juno,即Eclipse 4.2的Ja ...

  2. 如何在myeclipse中实现jquery的自动提示功能

    在web开发过程中,myeclipse中jsp可以实现自动提示功能,但是jquery代码却无法实现自动提示,需要自己一个个手动去输入,效率过低,怎么办? 工具/原料   jquery 1.8.3.js ...

  3. jquery autocomplete自动补全

    简单用法: $(function(){ var data = "the People's Republic of China".split(" "); $(&q ...

  4. 使用jQuery Autocomplete(自动完成)插件

    jQuery 的Autocomplete(自动完成.自动填充)插件有不少,但比较下来我感觉,还是bassistance.de 的比较强大,我们就来写一些代码感受一下. 最简单的Autocomplete ...

  5. jquery.autocomplete自动补全功能

    项目实例: 一:js //SupplierAutoComplete.js $().ready(function () { $("#txtSupplier").autocomplet ...

  6. jQuery AutoComplete 自动补全

    jQuery.AutoComplete是一个基于jQuery的自动补全插件.借助于jQuery优秀的跨浏览器特性,可以兼容Chrome/IE/Firefox/Opera/Safari等多种浏览器. 特 ...

  7. Bootstrap Typeahead/Jquery autocomplete自动补全

    使用Bootstrap Typeahead 组件: Bootstrap 中的 Typeahead 组件就是通常所说的自动完成 AutoComplete,自动填充. 效果如图所示: 实现方式: 1.引入 ...

  8. Jquery实现自动提示下拉框

    1.引入脚本库:     <script type="text/javascript" src="/Jscripts/jquery-1.3.2.js"&g ...

  9. jquery输入框自动提示

    1. 下载jar包:jquery.autocomplete.js 2. 页面内容:<script type="text/javascript" src="../jq ...

随机推荐

  1. ECMAScript 6中数组新方法

    数组的方法 数组的的大部分方法都可以实现数组的遍历. foreach方法 实现数组的遍历 const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.forEach(fu ...

  2. sass动态实现颜色平铺显示

    @function stripes($position,$colors) { $colors: if(type-of($colors)!='list', compact($colors), $colo ...

  3. 在Windows环境下搭建Nginx文件服务器(简单实用版)

    为了解决项目组内容应用,打算把本地的e:tools目录共享出来,具体操作步骤如下1.下载安装包:http://nginx.org/download/nginx-1.9.15.zip2.解压缩3.修改配 ...

  4. 【转】 为什么我们做分布式使用Redis

    绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知.这里对 Redis 常见问题做一个总结,解决 ...

  5. 叩响C#之门-继承

    就记录下一些概念,以供备忘. 一生二,二生三,三生万物.类类相生,生生不息.   重写和重载的区别: 重载是指同一个类中相同名称但参数不同的方法. 重写是指继承关系中,在派生类中重写由基类继承来的方法 ...

  6. 如何导出chrome已安装的拓展程序

    如何导出chrome已安装的拓展程序 已安装的chrome插件可以在浏览区中输入*chrome://extensions*便可以查看插件列表. 对于windows系统来说,这些插件对应的目录为: C: ...

  7. vw实现移动端自适应页面

    一.设备支持情况 测试网站:https://caniuse.com/#search=vw css3test:https://airen.github.io/css3test/,https://gith ...

  8. 远程连接你的linux服务器

    为什么要远程连接linux 在实际的工作场景中,虚拟机界面或者物理服务器本地的终端都是很少接触的,因为服务器装完系统之后,都要拉倒IDC机房托管,如果是购买的云主机,那更碰不到服务器本体了,只能通过远 ...

  9. 字符串函数之Strtok()函数

    Strtok()函数详解:   该函数包含在"string.h"头文件中 函数原型: char* strtok (char* str,constchar* delimiters ) ...

  10. LOJ.2865.[IOI2018]狼人(Kruskal重构树 主席树)

    LOJ 洛谷 这题不就是Peaks(加强版)或者归程么..这算是\(IOI2018\)撞上\(NOI2018\)的题了? \(Kruskal\)重构树(具体是所有点按从小到大/从大到小的顺序,依次加入 ...