文档章节

一个自动填充( autocomple)的例子(使用JQuery Cool Auto-Suggest)

mifans
 mifans
发布于 2016/07/14 14:54
字数 475
阅读 368
收藏 2

项目中要使用,看了很多,感觉这个插件比较靠谱,样式可控。逻辑比较简单(呵呵)

页面如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>自动填充实现后台</title>
<script language="javascript" type="text/javascript" src="js/jquery-1.11.0.js"></script>
<script language="javascript" type="text/javascript" src="js/jquery.coolautosuggest.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.coolautosuggest.css" />
</head>
<body>
<input type="text" id="text1" name="text1" />
</body>
<script type="text/javascript">

$("#text1").coolautosuggest({
  url:"autoCompleted?key=",
//   showThumbnail:true,
//      showDescription:true,
//   	 submitOnSelect:true
});
</script>

</html>

后台使用jfinal,拿来就用,超级简单好用:

package com.siteplugin.web;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.jfinal.core.Controller;

public class IndexController extends Controller {

	public void index(){
		renderFreeMarker("index.html");
	}
	public void autoCompleted(){
		//[{"id":"18","data":"Angelina Jolie","thumbnail":"thumbnails\/jolie.jpg","description":"Actress"}]
		//可以扩充图片显示
		List<JSONObject> list=new ArrayList<JSONObject>();
		//String [] wordKey={"add","asd","sdgaafdg","ff","hh","dsd","hjk"};
		String [] wordKey={"你好","你是谁","什么你","你们是谁","我们","我和你","我和他"};
		String key=getPara("key");
		for (int i = 0; i < wordKey.length; i++) {
			if (wordKey[i].contains(key)) {
				JSONObject json=new JSONObject();
				//json.put("id", i+"");
				json.put("data", wordKey[i]);
				//json.put("thumbnail", "");
				//json.put("description", "");
				list.add(json);
			}
		}
		renderJson(list);
	}
}

效果如下:

 

其中几个注意的地方

一,返回结果 是个json的数组,样例数据

[{"id":"18","data":"Angelina Jolie","thumbnail":"jolie.jpg","description":"Actress"}]

json中的每个属性不是必须,如果用不到可以不使用,

比如我得返回结果是:(只是用了data属性)

[{"data":"我们"},{"data":"我和你"},{"data":"我和他"}]

二,另外这个插件有很多扩展功能,有需要可以参见官网上面的介绍

http://www.jq22.com/jquery-info425

http://w3shaman.com/article/jquery-cool-auto-suggest

可以实现类似于下图的功能:提示中包含图片

 

还有支持用户选择操作后触发某个动作,比如提交数据,代码类似如下:

$("#search-input").coolautosuggest({
			  url:"search!autoCompleted.action?key=",
			//   showThumbnail:true,
//			      showDescription:true,
//			   	 submitOnSelect:true
			  onSelected:function(result){
				  //验证选择后的数据是否正确
				  //alert("你输入的"+result.data);
                  //做点什么
				  search(result.data);
			  }
			});

 

完毕。

© 著作权归作者所有

共有 人打赏支持
mifans
粉丝 10
博文 203
码字总数 102329
作品 0
海淀
程序员
加载中

评论(1)

推荐方案
推荐方案
实现一个智能提示功能需要JavaScript、ajax、数据库、jsp/php很多知识,
如果数据量大还需要特殊优化,一个小功能,花费太大精力不合适

但这是个可有可无的功能吗,肯定不是
对用户而言,可以有效降低输入成本,在面对输入框时,获得更多提示,不用那么迷茫和无助
对站长而言,可以优先推送网站的关键信息,等于多了一个广告位。

一所大学图书馆的搜索框智能提示,大约50万个词条(书名)
他们使用的是www.92find.com的搜索框智能提示免费产品,
只要一行javascript代码,就可以实现baidu、淘宝搜索框提示的全部功能
比如:拼音匹配、拼音前缀匹配、模糊搜索、智能容错,
还可以自定义提示词汇及其排序权重
你只需要准备好自己的提示词汇表就可以了,
无需编写程序,
五分钟 就可以在线配置拥有
主流搜索引擎都有的自动提示(自动补全)功能
jQuery 自动补全组件--jQuery-Autocomple

Ajax Autocomplete for jQuery jQuery 的自动补全组件,支持 Ajax 获取远程数据,支持数据分组显示。 除了 jQuery 之外没有其它依赖。 标准的 jquery.autocomplete.js 文件大小约为13KB。 AP...

匿名
2017/01/17
853
1
[MyBatis日记](4)映射语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/50663860 MyBatis提供了多种元素来配置不同类型的语句,如 SELECT,INSERT,UPD...

sjf0115
2016/02/14
0
0
mysql 整型数据类型

mysql支持标准SQL中的数值类型,支持标准的整型类型INTEGER和SMALLINT,并且扩展了标准类型,也支持TINYINT、MEDIUMINT和BIGINT。下面的表格中是每个类型的存储范围。 mysql整型存储范围表 ...

JettyWag
2016/11/13
22
0
CSS 水平对齐(Horizontal Align)

CSS 水平对齐(Horizontal Align) 在CSS中,有几个属性用于元素水平对齐。 块元素对齐 块元素是一个元素,占用了全宽,前后都是换行符。 块元素的例子: <h1> <p> <div> 文本对齐,请参阅 CS...

wybo521
2016/01/17
19
0
MySQL的Replace into 与Insert into ..... on duplicate

(1),没有key的时候,replace与insert .. on deplicate udpate相同。 (2),有key的时候,都保留主键值,并且autoincrement自动+1 不同之处:有key的时候,replace是delete老记录,而录入...

vga
2014/10/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
31分钟前
0
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
51分钟前
1
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部