首页 > php代码 > php+ajax实时获取下拉数据程序代码

php+ajax实时获取下拉数据程序代码

实时给select下拉列表获取数据我们用得最多的就是ajax了,下面我来给大家介绍利用php与ajax快速实现实时获取下拉数据方法,大家可参考。

你点击需要的数据后,这个数据写如到当前输入框。
并在后面添加逗号隔开,继续输入的时候,后台处理继续输出数据以供选择。

下面我们来看实例,html代码

 代码如下 复制代码

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ajax实时获取下拉数据</pre>
<style><!--
.input_s{ position:relative}
.input_s ul{ list-style:none; margin:0; padding:0; width:200px; border:1px solid #ccc; border-bottom:none}
.input_s ul li{ border-bottom:1px solid #ccc}
.input_s ul li:hover{ color:#fff; background:#000}
--></style>
<pre></pre>
<div class="input_s"><input class="tla" id="tla" style="width: 500px;" type="text" name="tla" />
</div>
<pre>
<script type="text/javascript">// <![CDATA[
var funjieliu = function(fn, delay){//函数节流  add by shanmao 2013 - 1 - 18
    var timer = null;
    return function(){
        var context = this, args = arguments;
        clearTimeout(timer);
        timer = setTimeout(function(){
            fn.apply(context, args);
        }, delay);
    };
 };
document.getElementById("tla").onkeyup=funjieliu(function(){//键盘按下的时候
    var tla = $("#tla").val();
    if(tla){
        $.post("/cityosweb/default.php/shanmao/input_xiala",{tla:tla},function(data){
            if(data.status==1){
                $(".inul").html("");
                $.each(data.data,function(index,val){
                    $(".inul").append("
    <li>"+val.username+"</li>
 
");
                    });
            }
            },"json");
        }
    },500);
$(function(){
    $(".inul li").live("click",function(){
        var thval = $(this).html();
        var tla = $("#tla").val();
        var regexp = new RegExp(",");
        if(regexp.test(tla)){//如果input有值(",")则加上input里面的值
        $("#tla").val(tla+thval+",");
            }else{
        $("#tla").val(thval+",");
                }
        $(".inul").html("");
        $("#tla").focus();
        });
    });
// ]]></script>

php代码如上

 代码如下 复制代码

function input_xiala(){
    $input = new input();
    $tval = $input->post('tla');
    $u = M('User');
    if(strpos($tval,",")){//检查是否带有","
        $val = explode(",",$tval);//拆分成数组
        $tval = end($val);//数组的最后一个值
        }
    $re = $u->field('username,email')->where("username like '$tval%'")->limit(10)->select();
    $this->ajaxReturn($re,'success',1);
    }



本文地址:http://www.phprm.com/code/47783.html

转载随意,但请附上文章地址:-)

标签:explode select

相关文章

发表留言