jquery 输入框 动态提示 用户输入的模糊匹配

html 代码

 

<div class="formControls col-xs-8 col-sm-8">
   <input type="text" class="input-text" value="" placeholder="" autocomplete="off" id="involveworks" name="director"/>
   <ul id="tip" style="margin: 0;padding: 4px; border: 1px solid #ddd" ></ul>
</div>

jquery代码

$(function () {
       $("#tip").hide();
       var delay = (function () {
           var timer = 0;
           return function (callback, time) {
               clearTimeout(timer);
               timer = setTimeout(callback, time);
           };
       })();
       //文本框输入内容进行动态提示
       $('#involveworks').keyup(function () {
           delay(function () {
               var works = $('#involveworks').val();
               if(works.length>0){ //当文本内容不为空时进行异步检索
                   var map = {"involve_works":works} //传入bean 查询条件
                   var report = {}
                   report.table ='sued';
                   report.map = map ;
                   report.pageNumber = 1 ;
                   report.pageSize = 5;
                   var data = JSON.stringify(report);
                   $.ajax({
                       type: 'POST',
                       url: '/findLawWorks',
                       data: data,
                       contentType: 'application/json',
                       success: function(data){
                         //  console.log(data[0].involve_works);
                           var tipHtml="";        //拼接html标签
                           $("#tip").show();
                           if(data.length<=0) {
                               $("#tip").hide();
                               return;
                           }else{
                               $("#tip").show();
                           }
                           for(var i=0;i<data.length;i++){
                               tipHtml+="<li>"+data[i].involve_works+"</li>";
                           }
                           //获得输入姓名文本框的宽度
                           var width=parseInt($("#involveworks").width());
                           //设置ul宽度和文本框的宽度相等
                           $("#tip").html(tipHtml).width(width);
                           $("#tip").css("position","relative").css("left",0).css("list-style-type","none");
                           $("#tip li").click(function(){
                               $("#tip").hide();
                               $("#involveworks").val($(this).text());
                           });
                       },
                       error:function(data) {
                           console.log(data.msg);
                       },
                   });
         };
           }, 500);
       });
   });

转载于:https://my.oschina.net/u/3483147/blog/1581919

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值