jquery输入框自动补全

前台页a.aspx

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>  
  
<!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>  
    <link href="css/test.css" rel="stylesheet" type="text/css" />  
    <script src="js/jquery.js" type="text/javascript"></script>  
    <script src="js/test.js" type="text/javascript"></script>  
</head>  
<body>  
    <form id="form1" runat="server">  
    <div id="con">  
         自动补全:<asp:TextBox ID="txt1" runat="server" CssClass ="txt1" οnkeyup="findcon();"></asp:TextBox>  
    </div>  
     <div id="popup">  
        <ul id="con_ul"></ul>  
     </div>  
    </form>  
</body>  
</html> 

------css样式文件:test.css文件

body   
{   
   font-family:Arial;   
   font-size:14px;   
   padding:0px;   
   margin:10px;   
}   
.txt1   
{   
     /* 用户输入框的样式 */   
     width:200px;   
}   
#popup   
{   
     /* 提示框div块的样式 */   
     position:absolute;   
     left:80px;   
     top:32px;   
     width:204px;   
     /*border:solid 1px black;*/   
     color:#004a7e;   
}   
  
#popup.show{   
     /* 显示提示框的边框 */     
     border:1px solid #004a7e;   
}   
  
ul{   
     list-style:none;   
     margin:0px; padding:0px;   
     color:#004a7e;   
}   
  
li.mouseOver{   
     background-color:#004a7e;   
     color:#FFFFFF;   
  

---------关键JS文件:test.js

var oInputField;    //考虑到很多函数中都要使用   
var oPopDiv;        //因此采用全局变量的形式   
var oconUl;   
function initVars(){   
    //初始化变量   
     oInputField = $("#txt1");   
     oPopDiv = $("#popup");   
     oconUl = $("#con_ul");   
}   
function clearcon(){   
    //清除提示内容   
     oconUl.empty();   
     oPopDiv.removeClass("show");   
}   
function setcon(the_con){   
    //显示提示框,传入的参数即为匹配出来的结果组成的数组   
     clearcon(); //每输入一个字母就先清除原先的提示,再继续   
     oPopDiv.addClass("show");   
    for(var i=0;i<the_con.length;i++)   
        //将匹配的提示结果逐一显示给用户   
         oconUl.append($("<li>"+the_con[i]+"</li>"));   
     oconUl.find("li").click(function(){   
         oInputField.val($(this).text());   
         clearcon();   
     }).hover(   
        function(){$(this).addClass("mouseOver");},   
        function(){$(this).removeClass("mouseOver");}   
     );   
}   
function findcon(){   
     initVars();     //初始化变量   
    if(oInputField.val().length > 0){   
        //获取异步数据   
        var url="handler/test.ashx?parms="+oInputField.val();   
         $.get(url,function(data){   
                var aResult = new Array();   
                if(data.length > 0){   
                     aResult = data.split(",");   
                     setcon(aResult);    //显示服务器结果   
                 }   
                else  
                     clearcon();   
         });   
     }   
    else  
         clearcon(); //无输入时清除提示框(例如用户按del键)   

-------处理后台:test.ashx一般处理程序文件 也可以直接放a.aspx.cs文件里处理

<%@ WebHandler Language="C#" Class="test" %>   
using System;   
using System.Web;   
using System.Data;   
  
public class test : IHttpHandler {   
       
    public void ProcessRequest (HttpContext context) {   
         context.Response.ContentType = "text/plain";   
        string str=context.Request.QueryString["parms"];   
        if (str.Length == 0)   
         {   
            return;   
         }   
        string result = "";   
        string[] name = new string[] { "a","b","c","d","e","f","g","a2","b2","c2","d2","e2","f2","g2","a3","b3","c3","d3","e3","f3","g3","a4","b4","c4","d4","e24","f4","g4"  
         };   
        for (int i = 0; i < name.Length; i++)   
         {   
            if (name[i].IndexOf(str) == 0)   
                 result += name[i] + ",";   
         }   
        if (result.Length > 0)                                   //如果有匹配项   
             result = result.Substring(0, result.Length - 1);    //去掉最后的“,”号   
         context.Response.Write(result);   
     }   
  
    public bool IsReusable {   
        get {   
            return false;   
         }   
     }   
  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]中的代码,这是一个使用jQuery动态生成输入框的插件。在初始化输入框DOM结构时,会生成一个包含输入框和错误提示的容器。输入框的类型由参数type指定,错误提示信息由参数placeholder指定。如果调用插件时使用了高版本的jQuery,可能会出现错误,因为$.browser这个API在jQuery1.9版本开始被废除了,所以会报错"Cannot read property 'msie' of undefined" \[2\]。 如果你想调用这个插件并设置错误提示信息,可以按照引用\[3\]中的示例代码进行操作。首先,使用$("#username").CreateInput({...})来生成输入框,其中type指定输入框的类型,placeholder指定错误提示信息。然后,可以通过$("#username").data('CreateInput')来获取插件实例,然后使用setValue方法来设置输入框的值。 希望这个回答对你有帮助! #### 引用[.reference_title] - *1* *3* [jQuery输入框插件](https://blog.csdn.net/aolra0914/article/details/102068905)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [jquery输入框邮箱下拉智能提示](https://blog.csdn.net/weixin_42113552/article/details/117872544)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值