- 浏览: 313143 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhangliguoaccp:
对于女人不要太看重吧,喜欢你的自然留下,你若盛开,蝴蝶自来!
遇见她 -
yiqi1943:
springtest支持的spring版本最低是多少啊
Spring Test -
WITLP:
爱,我只知道你一部分的事情,没想到你从华智出来这么坎坷
2009 为什么待到毕业时? -
WITLP:
哈哈,原来你就是传说中的欧阳平?
ANT 简单使用 -
bo_hai:
谢谢。总结的很好。
工具 PL/SQL 快捷键
思路:
1 输入字符串,keyup事件,通过输入的字符串去后台取数据
2 Controoler层跳到jsp页面,返回null,拼装自己想要的任何数据,xml,html都可以
3 异步成功方法获取数据,用jquery的方法进行设置
4 形成div在input下进行显示
5 第二次的keyup事件,如果第一次的没有请求完,取消第一次,进行第二次的keyup事件
1 页面
2 js文件
3 java代码
4 中间页面 ajaxResponseHTMLBetween.jsp
1 输入字符串,keyup事件,通过输入的字符串去后台取数据
2 Controoler层跳到jsp页面,返回null,拼装自己想要的任何数据,xml,html都可以
3 异步成功方法获取数据,用jquery的方法进行设置
4 形成div在input下进行显示
5 第二次的keyup事件,如果第一次的没有请求完,取消第一次,进行第二次的keyup事件
1 页面
<html:text property="testDTO.tmpText01" styleId="tmpText01" styleClass="must" /> <div id="autodpt" style="position:absolute; top:25px; left:50px; padding:4px; display:none; z-index:100;OVERFLOW-Y:auto;SCROLLBAR-FACE-COLOR:#ffffff;FONT-SIZE:11pt;PADDING-BOTTOM:0px;SCROLLBAR-HIGHLIGHT-COLOR:#ffffff;OVERFLOW:auto;LETTER-SPACING:1pt;HEIGHT:200px;TEXT-ALIGN:left"></div>
2 js文件
var wordInput = $("#tmpText01"); var wordInputOffset = wordInput.offset(); //隐藏自动补全框并通过CSS设置补全框的位置大小及样式 $("#autodpt").hide() .css("position","absolute") .css("border","1px black solid") .css("top",wordInputOffset.top + wordInput.height() + 5 + "px") .css("left",wordInputOffset.left + "px") .width(wordInput.width() + 2); var IfrRef1 = document.getElementById('DivDpt'); IfrRef1.style.display = "none"; /添加键盘按下并弹起的事件 wordInput.keyup(function(event){ //处理文本框中的键盘事件 var myEvent = event||window.event; var keyCode = myEvent.keyCode; //如果输入的是字母,退格,delete,空格或者数字键,应该将文本框中的最新信息发送给服务器,其中,空格键和数字键的加入使得输入中文也能支持~~ if((keyCode >= 65 && keyCode<=90) || (keyCode >= 48 && keyCode <= 57) ||(keyCode>=96 && keyCode<=105) || keyCode == 46 || keyCode == 8 || keyCode == 32){ //获取文本框的内容 var wordText = $("#tmpText01").val(); var autoNode = $("#autodpt"); if(wordText!=""){ // //将文本框中的内容发送到服务器端 //对上次未完成的延时操作进行取消 clearTimeout(timeoutIdDpt); //对于服务器端进行交互延迟500ms,避免快速打字造成的频繁请求 timeoutIdDpt = setTimeout(function(){ $.post("*.do?method=initInfoList",{word:wordText},function(data){ //将dom对象data转换成JQuery的对象 var jqueryObj = $(data); //先找到所有的word节点 var wordNodes = jqueryObj.find("word"); //遍历所有的word节点,取出单词内容将单词内容添加到弹出框中 autoNode.html(''); wordNodes.each(function(i){ //获取单词内容 var wordNode = $(this); //新建div节点将单词内容加入到新建的节点中,将新建的节点加入到弹出框的节点中 var newDivNode = $("<div>").attr("id",i) .attr("attr1",wordNode.attr("attr1")) .attr("attr2",wordNode.attr("attr2")) // autoNode.attr("dd",i+"a"); newDivNode.html(wordNode.text()).appendTo(autoNode); //增加鼠标进入事件,高亮节点; newDivNode.mouseover(function(){ if(highlightindexDpt != -1){ $("#autodpt").children("div").eq(highlightindexDpt).css("background-color","white"); } highlightindexDpt = $(this).attr("id"); $(this).css("background-color","yellow"); }); //增加鼠标移出事件,取消当前高亮节点 newDivNode.mouseout(function(){ $(this).css("background-color","white"); }); //增加鼠标点击事件,可以进行补全 newDivNode.click(function(){ var comText = $(this).text(); $("#autodpt").hide(); var IfrRef1 = document.getElementById('DivDpt'); IfrRef1.style.display = "none"; highlightindexDpt=-1; $("#tmpText01").val(comText); $("#node").attr("value",$(this).attr("attr1")); }); }); //如果服务器端有数据返回,则显示弹出框 if(wordNodes.length>0){ autoNode.show(); var DivRef = document.getElementById('autodpt'); var IfrRef = document.getElementById('DivDpt'); IfrRef.style.width = DivRef.offsetWidth; IfrRef.style.height = DivRef.offsetHeight; IfrRef.style.top = DivRef.style.top; IfrRef.style.left = DivRef.style.left; IfrRef.style.zIndex = DivRef.style.zIndex - 1; IfrRef.style.display = "block"; }else { autoNode.hide(); var IfrRef1 = document.getElementById('DivDpt'); IfrRef1.style.display = "none"; highlightindexDpt=-1; } },"xml"); },1500); }else{ var IfrRef1 = document.getElementById('DivDpt'); IfrRef1.style.display = "none"; highlightindexDpt=-1; autoNode.hide(); highlightindexDpt=-1; } } else if(keyCode == 38 || keyCode==40){ //如果输入的是向上38向下40按键 if(keyCode == 38){ //up var autoNodes = $("#autodpt").children("div"); if(highlightindexDpt !=-1) { autoNodes.eq(highlightindexDpt).css("background-color","white"); highlightindexDpt--; }else{ highlightindexDpt = autoNodes.length -1; } if(highlightindexDpt == -1){ //如果修改索引值以后index变成-1,则将索引中指向最后一个元素 highlightindexDpt = autoNodes.length -1; } //让现在被高亮的内容变成黄色 autoNodes.eq(highlightindexDpt).css("background-color","yellow"); } if(keyCode == 40){ //down var autoNodes = $("#autodpt").children("div"); if(highlightindexDpt !=-1) { autoNodes.eq(highlightindexDpt).css("background-color","white"); } highlightindexDpt++; if(highlightindexDpt == -1){ //如果修改索引值以后index变成-1,则将索引中指向最后一个元素 highlightindexDpt = 0; } //让现在被高亮的内容变成黄色 autoNodes.eq(highlightindexDpt).css("background-color","yellow"); } }else if(keyCode == 13){ //如果按下的是回车 //下拉框有高亮的内容 if(highlightindexDpt !=-1) { var comText = $("#autodpt").hide().children("div").eq(highlightindexDpt).text(); var IfrRef1 = document.getElementById('DivDpt'); IfrRef1.style.display = "none"; highlightindexDpt=-1; $("#DivDpt").val(comText); //将文本框内容改成选中项 // $("form:first").submit(); //提交form。若没有这句话,按下回车后,仅仅只改变了文本框里的内容,但是由于form本身就监控了回车按键默认为submit,提交的是文本框改变之前的内容,解决这个问题最简单的方式就是在文本框内容改变以后强制提交form的内容,此时,提交的内容就是选中项。 } //下拉框没有高亮的内容 else{ $("#autodpt").hide(); var IfrRef1 = document.getElementById('DivDpt'); IfrRef1.style.display = "none"; //让文本框失去焦点 $("#tmpText01").get(0).blur(); } } });
3 java代码
public ActionForward initAjaxForXML(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { try { log.info("Ajax返回XML 异步请求开始!"); request.setAttribute("attr",new ArrayList()); //根据c_code 判断页面的显示情况 response.setCharacterEncoding("UTF-8"); response.setHeader("Cache-Control", "no-cache,must-revalidate"); response.setHeader("Pragma", "no-cache"); // HTTP 1.0 response.setDateHeader("Expires", 0); // prevents cachin request.getRequestDispatcher("/ajaxResponseHTMLBetween.jsp").forward(request, response); log.info("Ajax返回XML 异步请求结束!"); return null; } catch (Exception e) { log.error("Ajax返回XML 异常!"); return null; }
4 中间页面 ajaxResponseHTMLBetween.jsp
<%@ page language="java" contentType="text/xml; charset=utf-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <words> <c:forEach var="word" items="${attr}"> <word attr1="${word.attr1}" attr2="${word.attr2}" attr3="${word.atrr3}" >${word.attr1} ${word.attr2}</word> </c:forEach> </words>
发表评论
-
可输入的下拉框,兼容IE6,7,8,9
2013-06-21 14:26 1242有时候因为包含了这一部分导致下拉框不可使用: <! ... -
JS Web前段性能问题
2011-03-29 18:00 805Web前段性能问题 -
JS body.clientWidth,documentElement.clientWidth,clientX
2011-03-29 16:50 1668event的x,clientX,offsetX ... -
自写 js validation 验证框架
2011-02-15 16:32 1623一、背景: 一个 ... -
JS jquery ajax post html
2010-06-30 15:14 1604$(document).ready(function(){ ... -
JS jquery常用语法
2010-06-30 14:05 872$("#id").val(); $( ... -
JS 过滤特殊字符
2010-06-29 15:44 3059<input type = "text&quo ... -
JS 注册监听
2010-06-22 15:45 1238<div id ="testdiv" ... -
JS Jquery 锁屏
2010-06-22 13:26 2420http://jquery.malsup.com/block/ ... -
JS 判断是否IE浏览器
2010-06-12 12:33 1352var ie = 0/*@cc_on+1@*/ ; 利用IE ... -
JS event获取触发事件的对象
2010-04-21 09:11 1245更多信息查询API <script> <s ... -
JS js控制鼠标左右键和复制粘贴事件
2010-04-12 20:27 3481JS js控制鼠标左右键和 ... -
JS js控制select多选
2010-04-07 10:46 1816<script> function move ... -
JS 转换函数和属性定义范围
2010-04-07 09:54 901<script> //转换函数 eval() ... -
JS 加码解码
2010-04-07 09:52 1473<script> //javascript加码解 ... -
JS 定时任务setTimeout与setInterval
2010-04-07 09:49 1993~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... -
JS 框架跳转
2010-04-06 13:06 1321<script language="javas ... -
JS prototype例子原型与继承
2010-03-29 16:15 1676prototype 属性 返回对象类型原型的引用。 ... -
JS 获得当前实时日期和时分秒星期 日期比较 当前日期格式化
2010-03-26 13:36 3007这些查API文档,一目了然,这是一个js获得当前实时日期和时分 ... -
JS 输出对象的属性以及方法
2010-03-25 13:59 2804前面基础的时候提到过,但是还是简单的写下,熟悉熟悉 <s ...
相关推荐
jQuery自动补全筛选input代码是一款输入关键词后自动筛选相关信息。
里面包含使用说明文件,步骤简单: (1)复制覆盖 (2)notepad++ 菜单开启设置 (3)重启notepad++,OK
改进版 jquery 仿百度谷歌自动补全输入(支持中文) 本资源原版本是在本论坛下载的,但只支持英文输入的自动补全,后经改进,现版本可支持中文和数字输入的自动补全,特来分享,感谢原版作者
jQuery autocomplete 自动补全效果, js
jQuery百度搜索自动补全插件是一款高级的自动补全jQuery插件typeahead.js。
简单易懂的示例,包括静态前台示例,中文乱码解决JS, 常用属性配置中文说明
jquery的一个自动补全插件,里面有demo在线演示地址和在线api地址
jQuery实现输入框自动补全邮箱提示jQuery实现输入框自动补全邮箱提示
修改网上的代码完成的,使用jquery+JavaScript形式写的,服务端代码用java编写,当然你可以用其他任何语言编写。suggest是MyEclipse的一个工程,直接import既可用。也可以提取里面的文件自己修改
Jquery自动补全1.servlet中 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String word = request.getParameter("word"); request....
1.该js支持jquery的自动补全功能 2.因为jquery-ui是jquery的插件,所以部分版本jquery可能不支持该插件,建议换成内附的jquery.js 3.如有疑惑,请阅读内附的说明文档
jQuery仿百度搜索下拉框自动补全代码插件一款高级的自动补全jQuery插件typeahead.js,仿百度搜索下拉框自动补全代码插件。
Jquery实现仿搜索引擎文本框自动补全插件 包中含有:jquery-1.7.2.min.js,关键类库:jquery.bigautocomplete.js,应用于百度搜索自动提示内容.
邮箱自动补全插件--依赖jQuery
利用jquery.autocomplete.js插件实现了文本框自动补全的功能, 附件包含两个实例代码,均以txt文档显示,都有前台和后台代码。一个是传一个参数,一个是传两个参数,后台以一般处理程序ashx文件编写。大家只需要修改...
仿照google自动补全,jQuery是近段时间里比较流行的一个JavaScript框架,不断有使用者开发出新的 jQuery插件。下面收集了50个开发者最喜欢使用的jQuery插件。
style.css几个文件,访问的是数据库,返回的是json数据,json格式已经在index.html中,文本框下来智能选择补全,jquery.ui.js中已经包含了jquery.autocomplete.js源码,不在需要单独引用jquery.autocomplete.js文件
运用jquery.autocomplete.js 和jquery.autocomplete.css实现文本框自动补全,直接下载可以看到运行效果,带注释
jquery标签自动补全特效功能代码很简单,非常实用。 包括了以下功能 1、与后台交互生成自动补全交互; 2、按回车自动完成; 3、点击选中标签提示删除; 4、遇到重复标签会自动提示(带动画闪烁效果)。