当前位置: 代码迷 >> ASP.NET >> JQuery实现文本框自动匹——请高人帮小弟我看看
  详细解决方案

JQuery实现文本框自动匹——请高人帮小弟我看看

热度:978   发布时间:2013-02-25 00:00:00.0
JQuery实现文本框自动匹——请高人帮我看看
JQuery监听textbox的keyup事件
JScript code
 $(document).ready(function()    {        $("#txt_Keys").keyup(function()        {            var proname=$("#txt_Keys").val();            if(proname.length!=0)            {alert(proname);                $("autodiv").attr("style","display:block");                $.ajax(                {                    type:"GET",                    url:"Handler.ashx",                    data:"keyword"+proname,                    success:function(data)                    {                        if(data!="")                        {                            <!--写到这里有点迷糊了,不知道该干啥了~-->                        }                    }                })            }        })    });
其中Handler.ashx代码如下:
C# code
public void ProcessRequest (HttpContext context)     {        context.Response.ClearContent();        context.Response.ContentType = "text/plain";        context.Response.Cache.SetCacheability(HttpCacheability.NoCache);        string proName="";        proName = context.Request["keyword"];        string sql = "select Top 10 Project_Name from UDP_Project where Project_Name like '" + proName + "'";        DataSet ds = SQLHelper.theSearch(sql);        ArrayList list = new ArrayList();                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)        {            list.Add(ds.Tables[0].Rows[i].ToString().Trim());             }        System.Threading.Thread.Sleep(1000);        context.Response.Write(list);        context.Response.End();    }
,麻烦帮我看看,有没有写错了,做了几天了~~

------解决方案--------------------------------------------------------
if(data!=""){
//根据你自己的需要写codea
}


后台返回的值 需要是 js能识别的变量类型
比如
context.Response.Write("{\"name\": \"Tom\"}");


success:function(data){
data = eval('('+data+')');
alert( data.name )
}

这样就可以了



------解决方案--------------------------------------------------------
先自行搜索jquery.autocomplete插件
下载后它包括jquery.autocomplete.js,jquery.autocomplete.css, jquery-latest.js
调用方式
JScript code
<script type="text/javascript" language="javascript"> $(document).ready(function() {            $.ajax({                type: "get",                contentType: "application/json",                url: "returndata.aspx",                success: function(data) {                    var data = eval("(" + data + ")");                                     $("#txtIMO").autocomplete(data, {                        minChars: 1,                        matchContains: true,                        autoFill: false,                        mustMatch: false,  //是否完全匹配                                 width: 80, //宽度                                                     formatItem: function(row, i, max) {                            return row.IMO;                        },                        formatMatch: function(row, i, max) {                            return row.IMO;                        },                        formatResult: function(row) {                            return row.IMO;                        }                    });                }            })        })    </script>
------解决方案--------------------------------------------------------
你在那里面把数据填充到autodiv里面不就可以了 另外不要用线程 在进入时间的时候卸载掉事件 ajax请求完成或失败在绑定事件
------解决方案--------------------------------------------------------
  相关解决方案