你点击需要的数据后,这个数据写如到当前输入框,并在后面添加逗号隔开,继续输入的时候,后台处理继续输出数据以供选择.
下面我们来看实例,html代码如下:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ajax实时获取下拉数据
<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代码如下:
<?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); } ?>
永久地址:
转载随意~请带上教程地址吧^^