jquery autocomplete的使用

使用jQuery Autocomplete插件
本文介绍了如何使用jQuery Autocomplete插件实现输入框自动完成功能。通过数组和服务器请求两种方式演示了数据加载过程,并解决了样式应用问题。

最近刚开始学jquery,想实现类似GOOGLE搜索时自动显示出相关结果的效果。于是选择了使用jquery autocomplete插件。

首先下载所需文件,jquery.autocomplete.js和jquery.autocomplete.css。

由于该控件获得数据可以从数组和URL两种方式获取,所以写了两个简单的小例子试验一下。

前台代码如下:

 

ExpandedBlockStart.gif 代码
<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " AutoComplete.aspx.cs "  Inherits = " AutoComplete "   %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head  runat ="server" >
    
< title ></ title >
    
< script  src ="Scripts/jquery-1.4.1-vsdoc.js"  type ="text/javascript" ></ script >
    
< script  src ="Scripts/jquery.autocomplete.js"  type ="text/javascript" ></ script >
    
< link  href ="Styles/jquery.autocomplete.css"  type ="text/css"      />
    
< script  language ="javascript"  type ="text/javascript" >
            
// 直接由数组获得
            $(document).ready(( function  () {
            
var  data  =  [ " 河北省 " " 河南省 " " 山东 " " 北京 " " 天津 " ];
            $(
" #txtProvince " ).autocomplete(data);
            
// 由SERVER端获得
            $( " #txtUser " ).autocomplete( " GetUserName.aspx " );
        }
            ));
    
</ script >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        省份:
< input  id ="txtProvince"  type ="text"   />
    
</ div >
    
< div >
        用户名:
< input  id ="txtUser"  type ="text"   /></ div >
    
</ form >
</ body >
</ html >

 

其中用户名部分是从后台读取数据,相应的URL为GetUserName.aspx。该页面的.cs文件为:

 

ExpandedBlockStart.gif 代码
protected   void  Page_Load( object  sender, EventArgs e)
    {
        
// 默认传入的键值为q
         if  (Request.QueryString[ " q " !=   null )
        {
            
string  key  =  Request.Params[ " q " ].ToString();
            
string  result  =   "" ;
            db db 
=   new  db();
            
string  sql  =   " select UserName from Users where UserName like ' "   +  key  +   " %' " ;
            SqlDataReader dr 
=  db.GetReader(sql);
            
while  (dr.Read())
            {
                result 
+=  dr[ " UserName " ].ToString()  +   " \n " ;
            }
            
if  (result  ==   "" )
                result 
=   " not exists " ;
            Response.Write(result);
        }
    }

 

写完之后发现可以实现想要的功能,可是样式老是有问题。显示出来的结果列表挺丑的,好像没有套用上CSS。想了半天也没看出哪的问题来。今天早上猛然发现犯了一个低级错误啊,少写了rel="stylesheet",MY GOD!服了自己了。

一个简单的例子到此完成了。继续学习。

转载于:https://www.cnblogs.com/janes/archive/2010/08/06/1793754.html

jQuery Autocomplete 是一个 jQuery 插件,用于实现输入框自动完成功能。它可以根据用户输入的文本,从预设的数据源中提供匹配项,并在下拉列表中展示这些项供用户选择。 下面是使用 jQuery Autocomplete 的详细步骤: 1. 引入 jQueryjQuery Autocomplete 插件的 JS 文件。可以从 jQueryjQuery Autocomplete 的官方网站上下载相关文件。 ```html <script src="jquery.min.js"></script> <script src="jquery.autocomplete.min.js"></script> ``` 2. 在 HTML 中添加一个输入框,并为其设置一个 ID。 ```html <input type="text" id="autocomplete-input"> ``` 3. 在 JavaScript 中初始化 Autocomplete 插件。需要指定输入框的 ID、数据源和其他选项。 ```javascript $('#autocomplete-input').autocomplete({ lookup: ['Apple', 'Banana', 'Cherry', 'Durian', 'Elderberry'], minChars: 1, onSelect: function (suggestion) { alert('You selected: ' + suggestion.value); } }); ``` 其中,`lookup` 属性指定了数据源,可以是一个数组或一个函数。`minChars` 属性指定了最小匹配字符数,当用户输入的字符数小于该值时,不会触发自动完成。`onSelect` 属性指定了用户选择某个匹配项后的回调函数。 4. 根据需要自定义 Autocomplete 的样式。可以使用 CSS 修改下拉列表的样式,或修改 Autocomplete 插件的默认选项。 ```css .autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; } .autocomplete-suggestion { padding: 2px 5px; white-space: nowrap; cursor: pointer; } .autocomplete-suggestion:hover { background: #F0F0F0; } .autocomplete-group { font-weight: bold; } ``` 以上就是使用 jQuery Autocomplete 实现输入框自动完成的详细步骤。可以根据实际需求,自定义 Autocomplete 的选项和样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值