一个自动填充( autocomple)的例子(使用JQuery Cool Auto-Suggest)
博客专区 > mifans 的博客 > 博客详情
一个自动填充( autocomple)的例子(使用JQuery Cool Auto-Suggest)
mifans 发表于2年前
一个自动填充( autocomple)的例子(使用JQuery Cool Auto-Suggest)
  • 发表于 2年前
  • 阅读 352
  • 收藏 2
  • 点赞 0
  • 评论 1

【腾讯云】如何购买服务器最划算?>>>   

摘要: JQuery Cool Auto-Suggest自动提示插件 autocomplete

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

页面如下:

<!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);
			  }
			});

 

完毕。

共有 人打赏支持
粉丝 9
博文 202
码字总数 102200
评论 (1)
推荐方案
实现一个智能提示功能需要JavaScript、ajax、数据库、jsp/php很多知识,
如果数据量大还需要特殊优化,一个小功能,花费太大精力不合适

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

一所大学图书馆的搜索框智能提示,大约50万个词条(书名)
他们使用的是www.92find.com的搜索框智能提示免费产品,
只要一行javascript代码,就可以实现baidu、淘宝搜索框提示的全部功能
比如:拼音匹配、拼音前缀匹配、模糊搜索、智能容错,
还可以自定义提示词汇及其排序权重
你只需要准备好自己的提示词汇表就可以了,
无需编写程序,
五分钟 就可以在线配置拥有
主流搜索引擎都有的自动提示(自动补全)功能
×
mifans
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: