• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
敬YES
Now Or Never
博客园    首页       联系   管理    订阅  订阅
jquery autocomplete的使用

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

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

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

前台代码如下:

 

代码
<%@ 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文件为:

 

代码
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!服了自己了。

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

作者:陈敬(公众号:敬YES)
出处:http://www.cnblogs.com/janes/
博客文章仅供交流学习,请勿用于商业用途。如需转载,请务必注明出处。

posted on 2010-08-06 10:20  敬YES  阅读(1446)  评论(3)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3