基于bootstrap的autocomplete自动…

基于bootstrap插件实现autocomplete自动完成表单,提供脚本代码,用例,以及后台服务端(php). 

插件下载地址:  点击此处下载插件

首先肯定还是加载bootstrap&jquery了. 需要额外说明的是,后端返回的二维数组,和formatItem方法下面的调用保持一致即可; 另外,返回的数据要先parseJSON!切记.

相关参数说明:
source:function(query,process){}query表示当前文本输入框中的字符串,可在该方法中通过ajax向后台请求数据(数组形式的json对象),然后将返回的对象作为process的参数
formatItem:function(item){}对返回数据的具体某个json对象转化为字符串格式,用以显示在提示列表中,返回值:字符串
setValue:function(item){}选中提示列表某项时,设置文本输入框中显示的值以及实际需要获取的值。返回值格式:{'data-value':item["输入框显示值的item属性"],'real-value':item["实际需要获取值的item属性"]},后期可通过文本输入框的real-value属性获取该值
items:自动完成提示的最大结果集数量,默认:8
minLength:当前文本输入框中字符串达到该属性值时才进行匹配处理,默认:1
delay:指定延时毫秒数后,才正真向后台请求数据,以防止输入过快导致频繁向后台请求,默认:500

js代码,如下:
$('#card_no').autocomplete({
   source:function(query,process){
       var matchCount =this.options.items;//允许返回结果集最大数量
      $.post("card/list",{"card_no":query,"matchCount":matchCount},function(respData){
           respData =$.parseJSON(respData);//解析返回的数据
          if(!respData) {
              alert('输入的卡号不正确');
           }
           returnprocess(respData);
       });
    },
   formatItem:function(item){
       returnitem["card_no"]+"(手机号:"+item["mobile"]+")";
    },
   setValue:function(item){
       return{'data-value':item["card_no"],'real-value':item["mobile"]};
    }
});


php代码
  下面是自己采用yii2写的后台,这里面说明下只要保证返回结果是下面的格式就行,你可以替换成你所用的框架
  [{"card_no":"123","mobile":"11"},{"card_no":"124","mobile":"22"}]
  Class CardController extend Controller {
      public function actionList()
      {
           // 获取ajax通过ajax传过来的card_no参数
           $query = Yii::$app->request->post('card_no');
           //这里CardList类对应的是数据库中card_list表,这里CardList类就不写出来 根据条件取出相关卡数据
           $result = CardList:find()->select("card_no,mobile")->where(['like','card_no',$query])
                                ->asArray()->all();
           //返回json数据
           echo json_encode($result);
           exit;
      }
  }


效果图如下





  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值