JQuery.AutoComplete自动完成

 

 

<html>
<head>
<title></title>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="jquery.autocomplete.js" type="text/javascript"></script>
<link rel="Stylesheet" type="text/css" href="jquery.autocomplete.css" />
<script type="text/javascript">          
       // var test = [ "程序","程序员", "天", "天气", "Google", "Good", "csdn"];        
        $().ready(function() {  
           // $("#test1").autocomplete(test);   
            $("#test1").autocomplete("Handler.ashx",{autoFill: true}); 
        });  
</script>

</head>
<body>
<form id="form1">
  <input type="text" id="test1" />  
</form>
</body>
</html>

 

===========================================================

 

Handler.ashx

 

 

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler {
   
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        string result = "";

        if (context.Request.Params["q"] != null)
        {
            string key = context.Request.Params["q"];
            if (context.Cache.Get(key) != null)
                result = context.Cache.Get(key).ToString();
            else
            {
                for (int i = 0; i < 10; i++)
                {
                    result += key + i.ToString() + "/n";
                }
                context.Cache.Add(
                    key,
                    result,
                    null,
                    DateTime.Now.AddMinutes(3),
                    System.Web.Caching.Cache.NoSlidingExpiration,
                    System.Web.Caching.CacheItemPriority.Default,
                    null);
            }
            context.Response.Write(result);
        }
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}

===========================================================

 

存在问题: 在对中文输入法打开时, firefox 中是对中文拼音的自动匹配,而对输入后的中文无法及时触发匹配,导致延时才出现匹配的中文。

 

上网搜索到的方法:

说明一下为了支持中文输入,需要修改 jquery.autocomplete.js 文件的几个地方 , 在文件的 190 多行左右,加上如下代码:

.bind( "input" , function () {

    // @hack by liqt:support for inputing  chinese characters  in firefox

    onChange(0, true );

    } )

===========================================================

 

不是很清楚上面说的是哪个地方,花了几分钟,终于测试通过了,把jquery.autocomplete.js中的下面代码


}).bind("flushCache", function() {
        cache.flush();

修改为

 

}).bind("input", function() {
         onChange(0, true);
         }).bind("flushCache", function() {
        cache.flush(); 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值