输入自动提示搜索提示功能的使用说明: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 相关文章推荐
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
Jul 24 Javascript
一个简单的Node.js异步操作管理器分享
Apr 29 Javascript
jQuery实现购物车数字加减效果
Mar 14 Javascript
JavaScript中的fontsize()方法使用详解
Jun 08 Javascript
js实现网站最上边可关闭的浮动广告条代码
Sep 04 Javascript
详解Javascript获取缓存和清除缓存API
May 25 Javascript
vuejs实现标签选项卡动态更改css样式的方法
May 31 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
Sep 29 Javascript
vue router 通过路由来实现切换头部标题功能
Apr 24 Javascript
js实现的格式化数字和金额功能简单示例
Jul 30 Javascript
vue各种事件监听实例(小结)
Jun 24 Javascript
vue 清空input标签 中file的值操作
Jul 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
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
获取url中用&amp;隔开的参数实例(分享)
2017/05/28 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
vue-父子组件和ref实例详解
2019/11/10 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
Python最长公共子串算法实例
2015/03/07 Python
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
2019/10/09 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
django正续或者倒序查库实例
2020/05/19 Python
python 6行代码制作月历生成器
2020/09/18 Python
利用python爬取有道词典的方法
2020/12/08 Python
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
三维科技面试题
2013/07/27 面试题
绘画设计学生的个人自我评价
2013/09/20 职场文书
大学生农村教师实习自我鉴定
2013/09/21 职场文书
设计部经理的岗位职责
2013/11/16 职场文书
关于赌博的检讨书
2014/01/08 职场文书
大学生关于奋斗的演讲稿
2014/01/09 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
护士自荐信怎么写
2015/03/06 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
pandas求平均数和中位数的方法实例
2021/08/04 Python