刚开始在做搜索联想功能时,使用了jquery.autocomplete.js插件,当并不理想,首先插件老旧,也只适合老版的jquery。其次在数组中只能联想到首字母一样的数据,比如[12,23,222,422]这个数组,输入关键字2时,只能联想到23和222这两个数据,很不理想,所以放弃。

之后发现一款jqueryui autocomplete自动完成插件,听所是之前jquery.autocomplete.js插件搬过来改进的,不关注。下面研究一下插件功能。

导入文件:<link rel="stylesheet" href="../../css/jquery-ui.css">

<script src="../../js/jquery/jquery-ui.js"></script>

$http.get(api).then(function(result){
if(result.status==200) {
if(result.data.code == 0 ){
$( "#keyword" ).autocomplete({
source:result.data.data,
select: function(event, ui) {
appearHist(ui.item.value);
mui.openWindow({
url: 'search_reasult.html?searchKey='+ui.item.value,
id: 'result',
extras: {
name: 'mui'
}
});
},
open:function(event,ui){          //open:当联想数据ul列表打开后执行的函数,深坑!原以为ui.item为联想到的数据,然后可以通过angular绑定到布局好的列表上呈现。让jqueryui自带的列表隐藏。然而ui好像只是摆设。
$scope.$apply(function(){
$scope.maskShow=true;
});
},
close:function(event,ui){        //close:当联想到的列表关闭后执行的事件。通过open与close可以实现change的事件。主要jqueryui的change事件其实是blur事件,鼠标离开点击时才会执行,简直了。
$scope.$apply(function(){
$scope.maskShow=false;
});
}
});
}else{
mConfirm("服务器繁忙,请刷新");
}
}else{
mConfirm("网络不好页面刷不出来呢,请刷新");
}
});

首先,我从后台获取到需要联想的数组,刚开始想用source的函数形式来进行联想筛选呈现,但好像每次联想都调服务器接口,消耗资源,所以就本地自动完成。

属性介绍:search :每次搜索之前发生,并没有什么用,和response一样。而且在value为空的时候并不发生。

与angular配合时,我先执行的这个插件的代码,发现angular指令全部失效,可能与angular安全机制有关系。所以加了ready函数,让angular代码先执行。这样就成功了。加$apply也是可以解决短代码的。

jqueryui autocomplete的使用与angular配合的小坑的更多相关文章

  1. jquery-ui autocomplete在模态框(model)中,出不来

    知识点:在使用模态框中使用 jquery-ui autocomplete,无法显示下拉框的数据 参考博客:https://www.jianshu.com/p/3944693773ed 解决办法:在au ...

  2. 一些angular/js/ts的坑和吐槽

    ------20190318 ------------- 回头看,很多槽点已经随着升级改掉了   绑定string字面值到子组件@Input <app-overlay-static [name] ...

  3. Angular测试遇到的小坑

    Angular测试遇到的小坑 Error: Expected to be running in 'ProxyZone', but it was not found 检查doneFn的写法是否正确,位置 ...

  4. Angular 8 - 更小的包

    Angular 8 - 更小的包 Angular 8 发布 原文地址:https://blog.angular.io/version-8-of-angular-smaller-bundles-cli- ...

  5. jQueryUI Autocomplete插件使用入门教程(最新版)---------转载

    前言: jQuery,无需多作介绍,相信各位读者都应该接触或使用过了.jQuery UI,简而言之,它是一个基于jQuery的前端UI框架.我们可以使用jQuery + jQuery UI非常简单方便 ...

  6. 【jQuery】JQuery-ui autocomplete与strtus2结合使用

    汉字搜索效果图: 拼音首字母搜索效果图:  1)数据库表及函数(SQL Server 2008) 先来建立数据库表City,它包含两个字段CityID,CityName. CREATE TABLE C ...

  7. 【jQuery】jquery-ui autocomplete智能提示

    jQuery UI,简而言之,它是一个基于jQuery的前端UI框架.我们可以使用jQuery + jQuery UI非常简单方便地制作出界面美观.功能强大.跨浏览器兼容的前端html界面. Auto ...

  8. jquery-ui autocomplete 自动完成功能

    效果图

  9. 解决jQueryUi AutoComplete在某些浏览器下无法出现候选项问题

    在某些浏览器(如火狐),在使用AutoComplete进行绑定的时候,无法出现与关键字相似的候选项.其原因这里有描述: 解决方法可以采用下面方式: $('#bindInputId).bind(&quo ...

随机推荐

  1. 产品经理学Python:逻辑判断与运算符

    这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...

  2. 一句话告诉你JQuery $(this)到底指的是什么,怎么用

    看了网上好多关于jquery $(this)的解释,感觉都说的很模糊. 下面说出我自己的理解. this表示的是当前对象,下面以例子来说明 <!DOCTYPE html> <html ...

  3. N维法向量与N维超平面的关系的简单证明(日志二)

    虽然按照上面的方式证明出来,但感觉之中,似乎依旧是不严密的, 如下: 如果直线是2x+2y+1=0 那么(-1,1)也是其平行向量 ,.那么(1,1)依旧是法向量 此时,直线经过(0,-1/2)这个点 ...

  4. poj2185 Milking Grid

    题目链接:http://poj.org/problem?id=2185 这道题我看了好久,最后是通过参考kuangbin的博客才写出来的 感觉next数组的应用自己还是掌握的不够深入 这道题其实就是先 ...

  5. hdu1561 The more, The Better 树形DP+分组背包

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1561 思路: 典型的树形背包题目: 定义dp[i][j]表示以i为根节点,攻打j个城堡的获得的财宝的最 ...

  6. Android GreenDAO3.0——介绍

    引言 最近,学东西比较零散,各种知识混杂,于是记下学习记录,免得又忘了. 官方网址:http://greenrobot.org/greendao/documentation/introduction/ ...

  7. spring---简介

    spring spring是什么? 目的:解决企业应用开发的复杂性 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用 简单来说,Spring是一个轻量级的 ...

  8. 模仿下拉框datalist的jquery插件的一点小经验

    原本项目里是用h5的新属性data-list,但是这个下拉框的数据太多,而data-list似乎没有设置高度的地方,所以写了个小插件,期间也发现了一些bug,目前这个版本算是可以一用的版本,故写一下这 ...

  9. cin 对象取值过程详解

    突然又空,鉴于对cin对象的去值机制还不是很了解,就探究一番,并且记下来,方便以后复习. #include <iostream> int main(void) { using namesp ...

  10. elasticsearch系列(四)部署

    本文采用tar包的方式部署es 准备jdk8的环境 5.4.0的es依赖jdk8及以上版本 下载linux版的jdk jdk-8u121-linux-x64.tar.gz tar -zvxf jdk- ...