搜索插件AutoComplete(如何调用jQuery插件学习第四天)

       AutoComplete为自动填充,展示之意。jQuery中引入该插件后,用户在使用文本框搜索信息时,使用插件autoComplete方法绑定文本框,当在文本框中输入某个字符时,通过该方法中的指定的数据URL,返回相匹配的数据,自动显示在文本框下,提醒用户进行选择。

AutoComplete插件的使用:

(1)插件文件:

Js-8-4/jquery.autocomplete.js

Css-8-4/jquery.autocomplete.css

Images-8-4/indicator.gif

(2)下载地址:

http://jquery.bassistance.de/autocomplete/jquery.autocomplete.zip

(3)功能描述:

       在页面中创建一个文本框,用于输入查询信息。当在文本框中输入字符时,通过Autocomplete插件绑定设置好的数组信息,并与文本框中的字符匹配,将匹配后的结果序列化后展示在文本框的底部,为提供用户选项。

(4)实现代码:

<script type="text/javascript" src="Jscript/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="Js-8-4/jquery.autocomplete.js"></script>
<link rel="stylesheet" type="text/css" href="Css-8-4/jquery.autocomplete.css" />

<style type="text/css">...省略部分代码</style>

<script  type="text/javascript">
    $(function(){
        var arrUserName = [
            "张三","王小五","张子才","李四",
            "张大三","李大四","王五","刘明",
            "李小四","刘促明","李渊","张小三","王小明"
        ];
        $("#txtSearch").autocomplete(arrUserName,{
            minChars: 0 //双击空白文本框时显示全部提示数据
        });
    })
</script>
<div class="divFrame">
    <div class="divTitle">
        搜索用户
    </div>
    <div class="divContent">
        <span style="padding:0 5px 0 10px"><a href="#">新闻</a></span>
        <span style="padding:0 5px 0 5px"><b>用户</b></span>
        <div>
            <input type="text" id="txtSearch" class="txt" />
            <input type="button" id="btnSearch" value="查一下" class="btn" />
        </div>
    </div>
</div>

(5)代码分析:

       在页面的JS代码中,由于导入了AutoComplete插件,代码十分简单。首先自定义一个数组,用于与文本框中的数据相匹配,其代码如下:

var arrUserName = [
            "张三","王小五","张子才","李四",
            "张大三","李大四","王五","刘明",
            "李小四","刘促明","李渊","张小三","王小明"
        ];

       在实际的开发中,这部分数据可以与某个页面的URL绑定获取,同样也可以实现提示效果,在设定完数据源后,调用插件的autocomplete方法,完成数据与文本框间的绑定。其代码如下:

$("#txtSearch").autocomplete(arrUserName,{
    minChars:0 //双击空白文本框时显示全部提示数据
})

          AutoComplete插件的重要方法是autocomplete,其调用的语法格式如下:

$(文本框元素).autocomplete(urlOrDate,[option])

         其中,参加urlData表示绑定数据的路径或名称,可选项参数[option]为一个对象,其所设配置的属性名称如下所示:

$(文本框元素).autocomplete(urlOrDate,
    {
        minChars:      //自动完成前填入的最小字符,如果为0,双击空白文本时显示全部的提示数据信息
        max:           //显示的提示数据总条数
        autoFill:      //布尔值,表示是否选中时自动填充至文本框
        mustMatch:     //布尔值,表示是否匹配数据,设为True时,文本框中内容必须
                       //是匹配数据,如果不是,则清空文本框
        matchContains: //布尔值,表示是否包含匹配数据,设置为True时,文本
                       //框中内容只要被匹配数据包含则显示提示数据,否则不显示
        scrollHeight:  //设置匹配的数据滚动显示的高度
        formatItem:function(data,i,total){
            return"<I>"+data[0]+"</I>";
        },//格式化匹配数据显示的格式,如使用<I>标记
        formatMatch:function(data,i,total){
            return data[0];
        },//未格式化的源匹配数据
        formatMatch:function(data){
            return data[0];
        },//返回最终匹配的结果
    }
)

       在示例中,我们对JS部分的代码再次进行修改,增加两个功能:一是改变匹配数据显示的格式,另一个功能是单击“查一下”按钮后,显示所选中的匹配结果。

....省略部分代码
$("#txtSearch").autocomplete(arrUserName,{
    minChars: 0, //双击空白文档框时显示全部提示数据
     formatItem:function(data,i,total){
            return"<I>"+data[0]+"</I>";
        },//格式化匹配数据显示的格式,如使用<I>标记
        formatMatch:function(data,i,total){
            return data[0];
        },//未格式化的源匹配数据
        formatMatch:function(data){
            return data[0];
        },//返回最终匹配的结果
}).result(SearchCallback);//选中匹配数据中的某项数据时,调用插件的result方法
//自定义返回匹配结果函数
function SearchCallback(event,data,formatted) {
    $("#divData").html("您的选择是:" + (!data ? "空" : formatted));
}
//单击"查一下"按钮后,触发插件的search()方法
$("#btnSearch").click(function(){
    $("#txtSearch").search();
})
....省略部分代码

说明:AutoComplete插件中有两个重要的方法,一个是result(handler)方法,用于响应查看匹配的结果,其中参数handler为自定义的函数;另一个时search()方法,一般与"查询"按钮关联,调用绑定的result(handler)方法。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值