自动完成--autoComplete插件

js下载地址:https://github.com/devbridge/jQuery-Autocomplete

1.引入js,引入css

--start---------------------------------------------------------------------------------------------

1.autoComplete()方法

$(selector).autoComplete(配置对象);

具体使用

配置属性

1) lookup

类型:字符串数组或者对象数组

说明:使用本地数据注:如果是对象数组则提示的信息使用value属性(必须的)来指定,对象的其他成员随便设置

案例:

var data=[‘孙胜利‘,‘私房库‘];

或者标准的格式应该是下面这样:

var data = [{value:‘孙胜利‘,data:‘sunshengli‘},{value:‘私房库‘,data:‘http:sifangku.com‘}];

对象内还可以添加其他各种各样需要的数据!

2) onSelect

类型:function (suggestion){}

说明:用户从提示信息中选择时执行的回调函数,回调函数内部的this代码

当前的input控件

  参数说明:suggetsion:具体选择的数据,(就是点击或者按enter建之后选择的数据,如果是对象这会吧这个对象返回)

  如果只有字符串.那么返回的也是一个对象,有value和data属性

  这个函数里面也可以做提交.....

3) minChars

类型:数字

说明:最少输入几个字符时进行自动提示

默认:1(如果设为0 ,则直接提示)

11) serviceUrl

类型: 字符串或者回调函数

说明:服务器段url地址,如果是函数则在函数内部返回服务器的Url地址即可,如果使用本地的数据则省略本参数即可
注意:服务器端返回数据需符合以下格式

{

"suggestions":["sunshengli","sifangku"]

}或者

{

"suggestions":[{"value":"sunshengli","data":"haahha"},{"value":"sunshengli","data":"haahha"}]

}

13) paramName

类型: 字符串

说明: 将用户填写的数据发送给服务器时使用的名称

默认: query

15) deferRequestBy

类型:数字

说明:延迟Ajax请求的毫秒数,(减轻服务器压力可以稍微给一线延迟)

默认:0

16) nocache

类型:布尔值

说明:是否不缓存自动提示的数据,如果设置为true,则不会对数据进行缓存,那么用户输入相同查询内容的时候也会对服务器发起请求

默认:false(即默保留缓存)

27) formatResult

类型:function (suggestion,currentValue){}

说明:格式化返回的数据,有多少条数据,这个函数就执行多少次

函数参数说明:suggetion:当前执行时的提示数据

      currentValue: 用户输入的查询的数据

格式化后的数据需要使用return返回

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    String nameSpace = request.getContextPath();
%>
<%
    String projectPath = request.getScheme() + "://"
                    + request.getServerName() + ":" + request.getServerPort()
                    + nameSpace + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试autoComplete</title>
<script src="<%=projectPath%>js/jquery-1.12.1.js"></script>
<script src="<%=projectPath%>js/autoComplete/jquery.autocomplete.js"></script>

<link rel="stylesheet" type="text/css"
    href="<%=projectPath%>style/styles.css">
<script type="text/javascript">
    $(function()
    {
        var mydata = [
        {
            value : ‘孙胜利‘,
            data : ‘sunshengli‘
        },
        {
            value : ‘私房库‘,
            data : ‘http:sifangku.com‘
        },
        {
            value : ‘罗琪‘,
            data : ‘luoqi‘
        },
        {
            value : ‘罗志祥‘,
            data : ‘qq‘
        },
        {
            value : ‘罗志吉‘,
            data : ‘ww‘
        }

        ];
        $("#autocomplete").autocomplete(
        {
            //lookup : mydata,
            onSelect:function(suggestion)
            {//函数的参数都是形参!!!
                console.log(suggestion);
            },
            //minChars:2,
            serviceUrl:‘/sfk_BBS02/getNameList‘,
            formatResult:function(suggestion,currentValue){
                return ‘<div>‘+suggestion.value+suggestion.count+‘</div>‘
            }
        });

    });
</script>
</head>
<body>
    <!-- 测试autoComplete -->
    <form>
        姓名:<input id="autocomplete" type="text" name="abc">
    </form>
</body>
</html>

java

    @ResponseBody
    @RequestMapping("/getNameList")
    public String getNameList()
    {
        /***
         * {

"suggestions":[{"value":"sunshengli","data":"haahha"},{"value":"sunshengli","data":"haahha"}]

}
         */
        log.info("into getNameList");
        String names = "{\"suggestions\":[\"sunshengli\",\"罗志祥\",\"罗志志\",\"sifangku\"]}";
        String names2 = "{\"suggestions\":[{\"value\":\"sunshengli\",\"data\":\"hahahah\",\"count\":10},{\"value\":\"luozhizhi\",\"data\":\"qq\",\"count\":10}]}";
        return names2;
    }
}
时间: 2024-11-25 10:10:12

自动完成--autoComplete插件的相关文章

轻量级javascript自动完成autocomplete插件

Awesomplete是一款实用的轻量级js自动完成autocomplete插件.该autocomplete插件的特点有:轻量级.高度可定制.简单易用.无外部依赖等. 该js自动完成autocomplete插件支持HTML5的<datalist>属性,该属性只有现代浏览器才支持. 在线演示:http://www.htmleaf.com/Demo/201502251420.html 下载地址:http://www.htmleaf.com/jQuery/Form/201502251419.html

JQuery easyui里面的自动完成autocomplete插件

默认功能 当您在输入域中输入时,自动完成(Autocomplete)部件提供相应的建议.在本实例中,提供了编程语言的建议选项,您可以输入 "ja" 尝试一下,可以得到 Java 或 JavaScript. 数据源是一个简单的 JavaScript 数组,使用 source 选项提供给部件. <!doctype html> <html lang="en"> <head>   <meta charset="utf-8&

自动完成--autoComplete插件(2)

远端的也可以成为本地的数据 4) lookupLimit 类型:数字 说明:本地数据显示的最大条数,服务器段的没有效果,服务器端的可以后台设置 默认:没有限制 5) lookupFilter 类型: 函数function(suggestion,query,queryLowerCase){} 说明: 当使用本地数据时会执行这个函数来过滤本地的数据,有多少条数据这个函数函数就执行多少次, 如果需要展示这个数据则return 即可,如果没有return 数据则没有提示 函数的参数说明: suggest

推荐一款超强大的基于Angularjs的自动完成(Autocomplete)标签及标签组插件–ngTagsInput

前言 今天利用中午午休时间,给大家分享推荐一款基于Angularjs的自动完成(Autocomplete)标签及标签组插件--ngTagsInput,功能超强大的.不信,你试试就知道^_^... AutoComplete-- 自动完成对开发人员来说应该不会太陌生,特别是前端开发者.即用户在文本框中输入内容或者当文本框获得焦点时智能提示与用户输入有关的建议内容.最常见的 百度(baidu.com).谷歌(google.com)等的搜索框就是这样来设计的.目的是为了给用户提供一个更好的输入体验. 在

从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件

原文:从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件 本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery中的Ajax 从零开始学习jQuery (七) jQuery动画-让页面动起来! 从零

Jquery autocomplete插件的使用

简单用法: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></ti

MVC下autocomplete插件的使用

Autocomplete插件的功能类似于Google Suggest 功能,可以在用户输入查询条件的时候,自动提示用户若干词条,方便用户快速查询.下面我们介绍下autocomplete插件如何在MVC下面使用. 首先,需要下载autocomplete插件,其下载地址是:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ 其次,需要在页面上引入两个文件(jquery文件除外),分别是jquery.autocomplete

jquery.autocomplete 插件扩展滚动条加载更多

项目中用到autocomplete插件,但是插件的原有功能,不能满足项目全部需求所以修改了增加了以下几点功能: 1 粘贴文本自动加载数据 2 滚动条滚动到底部加载更多数据 3 与页面插件联动更新数据(清除缓存) 4 增加插件赋值给一个隐藏域,就可以得到文本和值 (做asp.net的用起来比较方便) 如果要启用滚动条加载更多数据 配置参数时加上 scroll:true, pagingMore:true 在加载更多时请求的url参数会有一个page的参数 它标识当前请求的是第几页数据 ps(这个分页

jquery 自动补全插件源码

/* 自动补全插件 */!function($){ $.fn.extend({ autocomplete:function(arr,max){ return new $.Autocomplete(this,arr,max);//如果有,就首先生成一个 } }); //构造函数 $.Autocomplete = function(input,arr,max){ this.option = {}; this.option.data = arr;//数据 this.option.max = max;