输入自动提示搜索提示功能的使用说明: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 相关文章推荐
JQuery 初体验(建议学习jquery)
Apr 25 Javascript
div移动 输入框不能输入的问题
Nov 19 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
Sep 10 Javascript
js控制浏览器全屏示例代码
Feb 20 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
Jan 18 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
jQuery插件artDialog.js使用与关闭方法示例
Oct 09 jQuery
vue项目中v-model父子组件通信的实现详解
Dec 10 Javascript
Vue编程式跳转的实例代码详解
Jul 10 Javascript
node.js使用fs读取文件出错的解决方案
Oct 23 Javascript
推荐几个不错的console调试技巧实现
Dec 20 Javascript
JavaScript实现飞舞的泡泡效果
Feb 07 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中PDO基础教程 入门级
2011/09/04 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
功能强大的php分页函数
2016/07/20 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
Javascript检查图片大小不要让大图片撑破页面
2014/11/04 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
python轻松实现代码编码格式转换
2015/03/26 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
2018/06/14 Python
Python魔法方法功能与用法简介
2019/04/04 Python
python3处理word文档实例分析
2020/12/01 Python
校园自助餐厅的创业计划书
2013/12/26 职场文书
岗位工作说明书
2014/07/29 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
不同意离婚答辩状
2015/05/22 职场文书
归途列车观后感
2015/06/17 职场文书
2016年校长新年寄语
2015/08/17 职场文书
2016年十一促销广告语
2016/01/28 职场文书
合作意向书怎么写
2019/06/24 职场文书
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python
Python实现简单的俄罗斯方块游戏
2021/09/25 Python
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP