jquery autocomplete 自动补全

写在前面

  autocomplete是jqueryUI里的一个插件

  效果和说明可以访问这里,作用类似于搜索时的自动提示:

相信用过jQuery autocomplete 自动补全功能同学有不少,但是往往我们所对应的需求不同,有的仅仅是为了省事,敲两个字就有一堆可供选择的信息可供选择,但并不是所有需求都是这样的,我们还有这样的需求,敲两个字,将这个文字对应的实体绑定出来。

主要的参数

jQuery UI Autocomplete常用的参数有:

  1. Source:用于指定数据来源,类型为String、Array、Function

    1. String:用于ajax请求的服务器端地址,返回Array/JSON格式
    2. Array:即字符串数组 或 JSON数组
    3. Function(request, response):通过request.term获得输入的值,response([Array])来呈现数据;(JSONP是这种方式)
  2. minLength:当输入框内字符串长度达到minLength时,激活Autocomplete
  3. autoFocus:当Autocomplete选择菜单弹出时,自动选中第一个
  4. delay:即延迟多少毫秒激活Autocomplete

其他不常用的就不罗列了。

需要引用的文件

   <link href="/Content/jquery.autocomplete.css" rel="stylesheet" type="text/css" />

  <script type="text/javascript" src="/Scripts/jquery.autocomplete.js"></script>
    <script type="text/javascript">
        function initAutoComplete(json) {
            $("#inputxt").autocomplete(json, {
                minChars: 1,
                width: 260,
                dataType: "json",
                matchContains: true,
                formatItem: function (row, i, max) {
                    return row.id + " <" + row.title + ">";
                },
                formatMatch: function (row, i, max) {
                    return row.title;
                },
                formatResult: function (row) {
                    return row.title;
                }

            }).result(function (event, row, formatted) {
                $("#newid").val(row.id);
            }); ;
        }
        $(document).ready(function () {
            $("#inputxt").focus(function () {
                $.post("/ashx/AccessDate.ashx", {}, function (data) {
                    initAutoComplete(data);
                }, "json");
            });
        });
    </script>

前台:

<form action="" method="post"><input type="text" id="inputxt" />
<input type="hidden" id="newid" /><input type="submit" value="提交"/></form>

这些代码的意思就是在文本框输入搜索文字后,智能提示出对应的列表以及列表所对应的ID,选择某一条后,将ID赋值给隐藏域,这样提交表单的时候就可以将文本框内容与ID

一起提交。

后台:

       JavaScriptSerializer jss = new JavaScriptSerializer();
            Dictionary<string, string> drow = new Dictionary<string, string>();
            List<Dictionary<string, object>> gas = new List<Dictionary<string, object>>();
            string start = System.Web.HttpUtility.UrlDecode(context.Request["start"], Encoding.UTF8);

            string end = System.Web.HttpUtility.UrlDecode(context.Request["end"], Encoding.UTF8);
            SqlConnection con = new SqlConnection(SqlHelper.sqlCon);
            SqlDataAdapter da = new SqlDataAdapter("SELECT   ID, Title, start, [end], UserID, fullname, confname, confshortname, allDay, topic, [description]  FROM  Userdate ", con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            con.Close();
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                Dictionary<string, object> drow2 = new Dictionary<string, object>();
                drow2.Add("id", ds.Tables[0].Rows[i]["ID"].ToString());
                drow2.Add("title", ds.Tables[0].Rows[i]["Title"].ToString());
                gas.Add(drow2);
            }
            context.Response.Write(jss.Serialize(gas)); 

  

效果就是这样了,下面把所需文件奉上

点击下载

时间: 2024-08-27 06:03:15

jquery autocomplete 自动补全的相关文章

jquery.autocomplete 自动补全 应用

下拉自动补全的js控件还是很多的,不过好多都被集成在N多组件之一了,像Jquery.easyui,jquery.chonsen等等都可以实现类似的功能.但我想要的是是一款简单轻巧,应用于整个系统的js. 于是我选择了jquery.autocomplete.js,基本参数注解参考:http://www.cnblogs.com/EWall/archive/2011/04/28/2031613.html,JS及相关CSS可在google code下载,链接https://code.google.com

jquery.autocomplete自动补全功能

项目实例: 一:js //SupplierAutoComplete.js $().ready(function () { $("#txtSupplier").autocomplete("ajax?name=GetSupplierList", { minChars: 1, //在触发autoComplete前用户至少需要输入的字符数.Default: 1,如果设为0,在输入框内双击或者删除输入框内内容时显示列表 max: 10, //autoComplete下拉显示项

jQuery Autocomplete 自动补全功能

使用Autocomplete可以很简单的就有文本框的自动补全功能提示了. 在HTML文件中引入autocomplete的js文件和css样式文件,以及autocomplete压缩包中的jQuery的js文件,不要私自用高版本的jQuery,可能会导致显示不出效果. 先来从网友那里拷贝过来的最简单的例子: <span style="font-size:24px;"><!DOCTYPE html> <html> <head> <meta

jquery autocomplete自动补全

简单用法: $(function(){ var data = "the People's Republic of China".split(" "); $("#autocomplete").autocomplete(data,{minChars:0}).result(function(event,data,formatted){ alert(data); }); }); </script> <input type="t

jquery邮箱自动补全

在使用前需要有如下文件: jquery-1.7.1.min.js jquery.mailAutoComplete-3.1.js 大家可以到网上下载: [jquery.mailAutoComplete-3.1.js]的请到这里下载:  http://download.csdn.net/detail/xiaolinzai888/7794939 [jquery-1.7.1.min.js]可以到jquery官网下载 页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT

jQuery UI Autocomplete自动补全

项目上用到solr搜索引擎,在输入框输入字符的时候,想做到类似百度的效果,下拉框出现10个建议词条,为此,用上了jQuery UI Autocomplete 做自动补全 jsp页面样例: <%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> <%@ include file="/WEB-INF/view

Pig autocomplete 自动补全

在pig的grunt环境下,按TAB键可以自动补全命令,用户可以添加自己的补全信息. 在conf目录下创建autocomplete文件,添加如下内容: hdfs://vm1:8020/ 在grunt环境下输入hd,然后按TAB,就可以自动补全hdfs://vm1:8020了. /conf/autocomplete

Autocomplete 自动补全(Webform实战篇)

因为项目中需要用到一个自动补全的功能,功能描述: 需求一:新增收件人的时候,自动下拉显示出数据库中所有的收件人信息(显示的信息包括:姓名-收件地址-联系方式) 需求二:选中一个值得时候,分别赋值到对应文本框(收件人输入框中赋值 姓名,联系方式输入框中赋值 手机号,收件地址输入框中赋值 地址) 解决需求一(因本人比较懒,所以直接选用了一个比较方便的插件:Autocomplete [参考学习地址:http://www.runoob.com/jqueryui/jqueryui-use.html]) 步

jquery.autocomplete自动补齐和自定义格式

1.简单的下拉自动补齐,可以使用本地或远程数据源 <input name="autoTag" id="autoTag" /> var source = ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"]; $('#autoTag').au