输入自动提示搜索提示功能的使用说明: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 名称冲突的解决方法
Apr 08 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
Jun 27 Javascript
javascript学习笔记(二)数组和对象部分
Sep 30 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
Dec 29 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
May 09 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
May 28 Javascript
D3.js实现拓扑图的示例代码
Jun 30 Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
Jul 04 Javascript
vue实现计步器功能
Nov 01 Javascript
javascript实现弹出层效果
Dec 10 Javascript
微信小程序实现首页弹出广告
Dec 03 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
77A一级收信机修理记
2021/03/02 无线电
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
php抓即时股票信息
2006/10/09 PHP
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
PHP中的use关键字概述
2014/07/23 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
W3C Group的JavaScript1.8 新特性介绍
2009/05/19 Javascript
小议Javascript中的this指针
2010/03/18 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
基于node打包可执行文件工具_Pkg使用心得分享
2018/01/24 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
浅入深出Vue之自动化路由
2019/08/06 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
2020/07/20 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
华为2019校招笔试题之处理字符串(python版)
2019/06/25 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
本科生学习总结的自我评价
2013/10/02 职场文书
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
学生党员思想汇报
2013/12/28 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers