欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php jquery autocomplete

程序员文章站 2022-04-05 17:57:10
...
在网上搜了许多,累shi了,折腾了半天,终于搞定,总结一下下...

1. 需要jquery-1.3.2.min.js (++),jquery.autocomplete.js,jquery.autocomplete.css 三个文件。哪里有?google..

2. 前端页面 js 如下:

user.js

$(function() {    $("#u_name").blur(function(){        //查询user表,检查是否存在,存在,则将用户信息显示;不存在,刚更新隐藏域,标识为new        //如果是新添加的用户,保存到数据库。        var u_name = $.trim($("#u_name").val());        if(u_name != ""){            $.ajax({                url:"finduser.php",                type:"get",                dataType:"json",                data:{username:$("#u_name").val(),u:"definate_text"},                error:function(){                    sessionTimeOut();                },                success:function(data){                    if(data!=null){                        $("#u_mail").attr("value",data.mail);                        $("#u_phone").attr("value",data.phone);                        $("#u_office").attr("value",data.office);                        $("#existflag").attr("value",data.existflag);                    }                }            });            }    });                //here     $("#u_name").autocomplete("finduser.php", {        cacheLength:0,        selectFirst:true,        matchSubset:false,        multiple: false,             width:135,             max:20,             dataType: 'json',        extraParams: {username:function(){return $("#u_name").val();},u:"indefinate_text"},        parse: function(data) {             var rows = [];              if(""!=data){                for(var i=0; i1)){                $("#u_name").blur();            }                    }    });});

3. 后台PHP部分:

finduser.php

query($sql);    $autorow = $db->fetch_array($autoresult);    $autoemail = $autorow[email];    $autooffice = $autorow[office];    $autophone = $autorow[phone];    $existflag=1;    if ($autorow==false){        $existflag=0;//0不存在,1存在。    }    $array=array('mail'=>"$autoemail",'office'=>"$autooffice",'phone'=>"$autophone",'existflag'=>"$existflag");    echo json_encode($array);}if($flag=='indefinate_text'){    $sql = "select user_name from $users_table where user_name like '".$_GET['username']."%'";    $autoresult = $db->query($sql); //$db是创建好的mysql_connect,query方法其实调用的是mysql_query    $array=array();    while($row = $db->fetch_array($autoresult)){        array_push($array,array($row['user_name']));    }    echo json_encode($array);}?>

4. 前台页面就一输入框,主要是以上PHP的返回及JS的处理。