输入自动提示搜索提示功能的使用说明: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 AutoComplete自动完成 的使用方法实例
Mar 19 Javascript
轻轻松松学JS调试(不下载任何工具)
Apr 14 Javascript
js点击button按钮跳转到另一个新页面
Oct 10 Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 Javascript
js中利用tagname和id获取元素的方法
Jan 03 Javascript
javascript原生ajax写法分享
Apr 10 Javascript
D3.js实现直方图的方法详解
Sep 25 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
Jan 15 Javascript
浅谈JavaScript面向对象--继承
Mar 20 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
Apr 29 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
Oct 31 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
Jan 17 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的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
javascript实现动态CSS换肤技术的脚本
2007/06/29 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
[原创]jQuery常用的4种加载方式分析
2016/07/25 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
angular多语言配置详解
2019/05/16 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
小程序实现图片移动缩放效果
2020/05/26 Javascript
vue $router和$route的区别详解
2020/12/02 Vue.js
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
Python字符串格式化输出代码实例
2019/11/22 Python
python中np是做什么的
2020/07/21 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
Europcar比利时:租车
2019/08/26 全球购物
电气技术员岗位职责
2013/11/19 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
西安事变观后感
2015/06/12 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
在 Golang 中实现 Cache::remember 方法详解
2021/03/30 Python
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
Python 文字识别
2022/05/11 Python