描述如下,有一个文本框,当我输入“王”的时候,会去数据库一个表中查询有“王”的所有名称。如“王建”,“王敏华”等等(显示在文本框的下面就跟文本框提示一样)给用户选择。当用户选中了“王敏华”后,“王敏华”会显示在文本框中。
但要最好是无刷新的。在线等。

解决方案 »

  1.   

    微软的ajax框架的ajaxcontroltoolkit工具中的autocomplete可以
      

  2.   

    我用的是2003的,没有ajax的组件,求可实现的代码。多谢
      

  3.   

    用ajax.net的autocomplete控件 + web service可以实现
      

  4.   

    我用的是2003的,没有ajax的组件,求可实现的代码。多谢
    我用的是2003的,没有ajax的组件,求可实现的代码。多谢
    我用的是2003的,没有ajax的组件,求可实现的代码。多谢
    我用的是2003的,没有ajax的组件,求可实现的代码。多谢
    我用的是2003的,没有ajax的组件,求可实现的代码。多谢
    我用的是2003的,没有ajax的组件,求可实现的代码。多谢
      

  5.   

    楼上的有asp.net C#的例子吗,
    多谢了
      

  6.   

    ajax
    可以用现有ajax组件,也可以通过自己写的回调实现
      

  7.   

    用AJAX实现思路:
    在页面布局当中加一个DIV,位置在TextBox的下面,然后给TextBox加个onchange事件,
    onchang事件,调用AJAX,将当前textbox的值进行查询,结果通过ajax动态反应在div当中,
    div当中,你可以使用li或者div,然后加上onmouseover事件和onclick事件。至于不用AJAX的话。。你可以查查JQUERY,貌似能实现这个效果,我是不会。。
      

  8.   


    google 一下, 你就明白,
      

  9.   

    好像lz的ajax概念仅包括AjaxControlToolkit
      

  10.   


    var conn=null;
    var xmlHttp;
    function connOpen()
    {
    if(conn==null)
    {
    conn="connection"
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    //xmlHttp=new XMLHttpRequest();
    xmlHttp.open("GET","xxxx.aspx",true);
    xmlHttp.onreadystatechange=callback;
    xmlHttp.send();
    }
    }

    setInterval('connOpen()',3000);然后在xxxx.aspx就执行你到数据库搜索的方法了,这样就实现了“无刷新”
      

  11.   

    真巧,我正写这个东西呢!
    呵呵,给你我现在还是半成品的代码。代码有点乱 还没整理呢<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!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="jquery-1[1].3.2.min.js" type="text/javascript" language="javascript"></script>    <script>
        function doit(obj)
        {
            var wd = obj.value;
            $.ajax({
                url:'Default.aspx',
                type:'POST',
                dataType:'json',
                data: "wd="+wd, 
                error:function(x){alert(x.status);},
                success:function(data){
                    if(data.s.length==0)return;
                    $("#show_wd").show();
                    var html =" <table width=\"100%\">";
                    for(var i in data.s)
                    {
                    html+="<tr onmouseover=\"aa(this)\" onmouseout=\"bb(this)\"><td onclick=\"completeField(this)\">"+data.s[i]+"</td></tr>";
                    }
                    html +=" </table>";
                    $("#show_wd").html(html);
                   var divResult = document.getElementById("show_wd");
                   divResult.style.width = document.getElementById("Text1").offsetWidth; + "px";
                   var left = calculateOffset(document.getElementById("Text1"), "offsetLeft");
                   var top = calculateOffset(document.getElementById("Text1"), "offsetTop") + document.getElementById("Text1").offsetHeight;
                   divResult.style.border = "black 1px solid";
                   divResult.style.left = left + "px";
                   divResult.style.top = top + "px";            }
            });
        }
        
        function completeField(tdvalue)
        {
            document.getElementById("Text1").value=tdvalue.innerText; 
            document.getElementById("show_wd").style.display="none";
        }    
        function calculateOffset(field, attr)
        {          var offset = 0;
              while(field) {
                offset += field[attr];             field = field.offsetParent;
              }
             return offset;
        }
        function KeyDown(evt)
        {
            evt = (evt) ? evt : ((window.event) ? window.event : "") 
             var key = evt.keyCode?evt.keyCode:evt.which; 
             if(key==38)
            {
                //上
             }
            if(key==40)
            {
                //下
             }
        }    function aa(tr)
        {
            tr.bgColor="#EFF2FA";
        }
        function bb(tr)
        {
            tr.bgColor="transparent";
        }    </script></head>
    <body>
        <form id="form1" runat="server">
            <div>
                <input id="Text1" type="text" style="width: 500px" onkeypress="doit(this)" onkeyup=""
                    onkeydown="KeyDown(event)" />
                <div id="show_wd" style="position: absolute; font-size: 12px">
                </div>
            </div>
        </form>
    </body>
    </html>
      

  12.   

    var timeout;
    var show=1;//判断显示
    function zdbq(){
    var wz = $("#pname").offset();//获得输入框位置
    $("#zdbqdiv").css("left",wz.left);   //设置提示框显示位置
    $("#zdbqdiv").css("top",wz.top+20);    //设置提示框显示位置高度

        
    var stuname=$("#pname").val(); //取得文本框的内容
    stuname=encodeURI(stuname);
    if (stuname != "") {
    //与数据库交互
    //返回数据
    //回调方法
    clearTimeout(timeout);
    setTimeout(function(){
    addbq(stuname);
    if(show!=-1){
    $("#zdbqdiv").show();
    }else{
    $("#zdbqdiv").hide();
    }
    }
    ,500);
    }
    }