输入自动提示搜索提示功能的使用说明:sugggestion.txt


Posted in Javascript onSeptember 02, 2013

readme:
本文件记录了suggestion.js文件的功能使用说明:

/* 
* 功能:该js文件中的代码实现了[输入自动搜索提示]功能,如百度、google搜索框中输入一些字符会以下拉列表形式给出一些提示,提高了用户体验; 
* 使用技术:JQuery+Ajax 
* 
* 一、如何使用该功能? 
* 1.使用该功能是需引入以下文件: 
* 1)<link type="text/css" rel="stylesheet" href="<%=baseURL %>/appName/css/common/suggestion.css"/> 
* 2)<script type="text/javascript" src="<%=baseURL %>/appName/js/common/jquery-1.9.1.js"></script> 
* 3)<script type="text/javascript" src="<%=baseURL %>/appName/js/common/suggestion.js"></script> 
* 2.需要在文件中添加标签如下所示: 
* <input type="text" id="keywords_input" autocomplete="off" searchURL="<%=baseURL%>/appName/sug/getSug.spring"> 
* <div id="sug_layer_div"></div> 
* 说明: 
* 1).在使用该功能的页面引入该文件,同时该功能使用了jQuery技术,依赖于jQuery文件,要在引入suggestion.js之前引入jQuery文件; 
* 2).这里假定你需要使用该功能的文本输入框为:<input type="text">; 
* 3).为该input标签指定id为'keywords_input',如<input type="text" id="keywords_input">; 
* 4).为该input标签指定autocomplete为'off',如<input type="text" autocomplete="off">; 
* 5).为该input标签添加自定义属性searchURL,该属性的值为需要调用控制器方法的URL,如需要调用sugController控制器的getSug方法来返回搜索提示数据,则 
* <input type="text" searchURL="<%=baseURL%>/appName/sug/getSug.spring"> 
* (这里使用Spring MVC框架); 
* 6).在input标签下面加一个id为'sug_layer_div'的DIV标签,如<div id="sug_layer_div"></div> 
* 
* 3.请求-响应数据格式说明:(json数据格式) 
* 1)前端示例: 
$.ajax({ 
type:"GET", //AJAX提交方式为GET提交 
dataType:"json", 
url:$("#keywords_input").attr("searchURL"),//处理页面的URL地址 
data:{ //要传递的参数 
"keywords_input":escape($("#keywords_input").val()) 
}, 
success:function(data) { 
var result = data.sugList;;//前端需要的数据 
...... 
} 
}); 
* 2)后台示例: 
@Controller 
@RequestMapping("/el/sug") 
@SuppressWarnings({"rawtypes","unchecked"}) 
public class SugController extends ElBaseController{ 
@RequestMapping("getSug") 
public void getSuggestion (HttpServletRequest request ,HttpServletResponse response)throws JSONException { 
log.info("<------获取搜索提示数据---SugController.getSuggestion--------->"); 
JSONObject json = new JSONObject(); 
String errMsg = ""; 
List sugList = new LinkedList<String>(); 
try { 
String keyword = request.getParameter("keywords_input");//前端传来的数据(输入框中的数据) 
List sugList = SugService.getSuggestionList(keywords_input); }catch (Exception e) { 
errMsg = "获取数据时出现异常,"+e.getMessage(); 
json.put("codeid","FAILURE"); 
} 
json.put("sugList",sugList);//要响应前端的数据 
ajaxResultText(response,json.toString()); 
} 
* 
* 二、如何了解该功能的实现? 
* 阅读本文件的代码,你应了解以下一些基础知识: 
* 1.keyUp,keyDown等事件中一些键码对: 
* 按键 键码 | 按键 键码| 按键键码 
* 0 48 9 57 0(数字键盘)96 
* A 65 Z 90 9(数字键盘)105 
* BackSpace 8 Up-Arrow 38 Dw-Arrow40 
* 
* 2.JavaScript escape()函数 
* escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串 
* 该方法不会对 ASCII字母和数字进行编码,也不会对下面这些 ASCII标点符号进行编码: * @ - _ + . / 。 
* 其他所有的字符都会被转义序列替换。如:escape("?!=()#%&") --> %3F%21%3D%28%29%23%25%26 
* 
* 3.autocomplete属性规定输入字段是否应该启用自动完成功能。 自动完成允许浏览器预测对字段的输入。 
* 当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。把该autocomplete属性值设为'off', 
* 就是要关闭浏览器自带的输入提示功能 
* 注释:autocomplete属性适用于<form>,以及下面的 
* <input>类型:text,search,url,telephone,email,password,datepickers,range以及 color。 
* 
* Author:sunfei(孙飞) Date:2013.08.21 
* 
*/
Javascript 相关文章推荐
javascript动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
Dec 28 Javascript
jQuery中:first选择器用法实例
Dec 30 Javascript
javascript实现的闭包简单实例
Jul 17 Javascript
JS实现带提示的星级评分效果完整实例
Oct 30 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
Jun 25 Javascript
jQuery layui常用方法介绍
Jul 25 Javascript
浅谈html转义及防止javascript注入攻击的方法
Dec 04 Javascript
React 实现拖拽功能的示例代码
Jan 06 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
Mar 28 Javascript
jquery制作的移动端购物车效果完整示例
Feb 24 jQuery
vue-cli4使用全局less文件中的变量配置操作
Oct 21 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
Sep 02 #Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
Sep 02 #Javascript
基于MVC3方式实现下拉列表联动(JQuery)
Sep 02 #Javascript
javascript模块化是什么及其优缺点介绍
Sep 02 #Javascript
火狐下table中创建form导致两个table之间出现空白
Sep 02 #Javascript
js的alert弹出框出现乱码解决方案
Sep 02 #Javascript
javascript中的window.location.search方法简介
Sep 02 #Javascript
You might like
typecho插件编写教程(一):Hello World
2015/05/28 PHP
Yii实现简单分页的方法
2016/04/29 PHP
JS的反射问题
2010/04/07 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
Django中几种重定向方法
2015/04/28 Python
django站点管理详解
2017/12/12 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
python实现的自动发送消息功能详解
2019/08/15 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
python 伯努利分布详解
2020/02/25 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
python转化excel数字日期为标准日期操作
2020/07/14 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
python中的unittest框架实例详解
2021/02/05 Python
HR喜欢的自荐信格式
2013/10/08 职场文书
铁路工务反思材料
2014/02/07 职场文书
物业消防安全责任书
2014/07/23 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
业务员岗位职责
2015/02/03 职场文书
质量保证书怎么写
2015/02/27 职场文书
留学推荐信怎么写
2015/03/26 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
大学生求职意向书
2015/05/11 职场文书
辛亥革命观后感
2015/06/02 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
通知怎么写?
2019/04/17 职场文书
入党申请书怎么写?
2019/06/21 职场文书