Jquery自动补全插件的使用
1、引入css和js
<script src="js/jquery-ui.min.js"></script> <link href="css/jquery-ui.min.css" rel="stylesheet">
下载地址
https://github.com/xiaorenwu-dashijie/autocomplete.git
2、写input输入框,主要是触发onkeyup事件
<input type="text" class="form-control" id="instiName" name="instiName" onkeyup="findInstiNamesByValue()" placeholder="请输入机构名称" >
3、写方法
function findInstiNamesByValue(){
var instiName = $("#instiName").val(); //获取输入框内容
$( "#instiName" ).autocomplete({
source: '${pageContext.request.contextPath}/findInstiNamesByValue?instiName='+instiName, //请求的url
minLength: 1,
});
}
注意:jquery中autocomplete方法需要的响应数据是json类型的数组
4、后台代码
a、Controller
/**
* 添加数据修复申请时,通过模糊查询自动补全机构名称
*
* @param instiName
* 输入框中的内容
* @return
*/
@RequestMapping("/findInstiNamesByValue")
public @ResponseBody String[] findInstiNamesByValue(String instiName) {
List<String> instiNames = instiDetailService.findInstiNamesByValue("%" + instiName.trim() + "%");
if (CollectionUtils.isEmpty(instiNames)) {
return null;
}
int size = instiNames.size();
String[] arr = (String[]) instiNames.toArray(new String[size]);
return arr;
}
b、Service
/** * 根据输入框中的汉字查询机构名从而实现自动补全功能 * * @param instiName * @return */ List<String> findInstiNamesByValue(String instiName);
c、Service.impl
@Override
public List<String> findInstiNamesByValue(String instiName) {
List<String> instiNames = instiDetailMapper.findInstiNamesByValue(instiName);
return instiNames;
}
d、Mapper
/**
* 根据输入框中的汉字查询机构名从而实现自动补全功能
*
* @param instiName
* @return
*/
@Select(" select insti_name from insti_detail where insti_name LIKE #{instiName}")
List<String> findInstiNamesByValue(String instiName);
PS:不用注解的话,可以用Mapper.xml
<select id="findInstiNamesByValue" resultType="java.lang.String" parameterType="java.lang.String" >
select insti_name
from insti_detail
where insti_name LIKE #{instiName}
</select>
5、(模态框)自动补全问题解决
不使用模态窗的时候,autocomplete可以很好的工作,使用模态窗时弹出的选择菜单会被模态窗遮挡。
在文件中添加了下面一段CSS代码,终于成功解决。
<style type="text/css">
.ui-autocomplete{
display:block;
z-index:99999;
}
</style>
Jquery自动补全插件的使用的更多相关文章
- VIM自动补全插件 - YouCompleteMe--"大神级vim补全插件"
VIM自动补全插件 - YouCompleteMe 序言 vim 之所以被称为编辑器之神多半归功于其丰富的可DIY的灵活插件功能,( 例如vim下的这款神级般的代码补全插件YouCompleteMe) ...
- Vimer的福音 新时代的Vim C++自动补全插件 clang_complete
使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插件都是对 Ctags 生成的符号表进行字符串匹配来获得可能的补全项.他们在编写 C 代码 ...
- 新时代的Vim C++自动补全插件 clang_complete
Vimer的福音 新时代的Vim C++自动补全插件 clang_complete 使用vim的各位肯定尝试过各种各样的自动补全插件,比如说大名鼎鼎的 OmniCppComplete .这一类的插 ...
- 【转】Vim自动补全插件----YouCompleteMe安装与配置
原文网址:http://www.cnblogs.com/zhongcq/p/3630047.html 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assis ...
- Vim自动补全插件----YouCompleteMe安装与配置
Vim自动补全插件----YouCompleteMe安装与配置 使用Vim编写程序少不了使用自动补全插件,在Linux下有没有类似VS中的Visual Assist X这么方便快捷的补全插件呢?以前用 ...
- vim python自动补全插件:pydiction
vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.pyt ...
- CentOS7 Vim自动补全插件----YouCompleteMe安装与配置
最近刚装了新系统CentOS7,想要把编码环境配置一下,使用Vim编写程序少不了使用自动补全插件,我以前用的是neocomplcache+code_complete+omnicppcomplete.但 ...
- vim中自动补全插件snipmate使用
vim中自动补全插件snipmate使用 1.下载snipMatezip:https://github.com/msanders/snipmate.vim/archive/master.zip 2.解 ...
- vim自动补全插件YouCompleteMe
前言 Valloric/YouCompleteMe可以说是vim安装最复杂的插件之一,但是一旦装好,却又是非常好用的.YouCompleteMe简称ycm 在安装折腾的过程中,我再一次的体会到,除了官 ...
随机推荐
- VM14安装Mas os 13
工具/原料 VMware Workstation unlocker(for OS X 插件补丁) macOS 10.13镜像 vmware tools 安装前准备 1 下载以上文件: 1. ...
- golang子进程的启动和停止,mac与linux的区别
今天接到一个任务是将原来运行在mac的应用移植到linux,原因当然是因为客户那边当前是linux环境,也不想再采购mac电脑. 通常来说,这个工作并不难,因为我选用的服务器端技术是c或者golang ...
- AndroidStudio运行java的main方法
新建一个java文件,含有main方法 package com.why.project.androidcnblogsdemo.utils; /** * Created by HaiyuKing * U ...
- Unity资源打包学习笔记(一)、详解AssetBundle的流程
转载请标明出处:http://www.cnblogs.com/zblade/ 本文参照unity官网上对于assetBundle的一系列讲解,主要针对assetbundle的知识点做一个梳理笔记,也为 ...
- 优雅的启动、停止、重启你的SpringBoot项目
前言 你是如何启动.关闭你的SpringBoot项目的?还是使用java -jar xxxx.jar启动? 还在用ps -ef找到你的pid去kill你的应用吗? 让我们来看看还有什么更加优雅的一键启 ...
- PE知识复习之PE的节表
PE知识复习之PE的节表 一丶节表信息,PE两种状态.以及重要两个成员解析. 确定节表位置: DOS + NT头下面就是节表. 确定节表数量: 节表数量在文件头中存放着.可以准确知道节表有多少个. 节 ...
- -1-5 java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait(),notify(),notifyAll()等方法都定义在Object类中
本文关键词: java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait( ...
- Perl List::Util模块用法详解
本文介绍Perl标准库List::Utils中的列表工具,有时候它们非常好用.比如Perl中测试列表中是否包含某个元素(某个元素是否存在于列表中)没有比较直接比较方便的功能,但使用List::Util ...
- python中循环删除列表中元素时的坑!
循环删除列表中元素时千万别用正序遍历,一定要用反序遍历! 废话不多说,先上案例代码: def test(data): for i in data: data.remove(i) return data ...
- 易被忽略的Python内置类型
Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们. 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些"不同寻常&quo ...