`
xalydxn
  • 浏览: 14496 次
  • 性别: Icon_minigender_2
  • 来自: 天津
社区版块
存档分类
最新评论

jQuery学习记录----仿GoogleSuggest自动提示(八)

阅读更多

自动提示程序相对前面几个稍微复杂些。下面介绍一下思路:

1、建立一个servlet,用于取前台页面文本框输入的值。可以转发到一个JSP页面,如wordxml.jsp。

2、在wordxml.jsp页面将后台要提示的数据组织成XML数据,此时不同的是要返回的是XML数据,而不是整个页面,所以在JSP页面page指令处设置一下contentType="text/xml; charset=utf-8".根据页面输入框的内容,返回以此内容开始的所有XML数据。

3、创建一个页面,如autoComplete.htm,有一文本框,一搜索按钮。另外要提示出来的框其实是一个DIV,页面初始时将该DIV隐藏。

4、创建一JS文件,如autoComplete.js用于处理自动提示。此过程分为以下几步:

1)、设置提示框在页面初始时隐藏,设置一个边框等CSS样式,使其在输入框的正下方,宽度也输入框同样。

2)、给搜索按钮添加点击事件。

3)、给文本框添加键盘事件keyup,请求服务器,返回对应的XML数据,遍历这个XML数据,例如符合条件的有5条XML数据,创建5个DIV来存储这5条XML数据,将新创建的DIV添加到页面autoComplete.html中的DIV中。

4)、判断如果按下的是上下箭头,修改选中一行的DIV的背景色,即使其高亮显示。这里可以定义一个全局变量如highlightindex,初始值为-1。上一步生成的各个DIV,索引从0开始,依次递增,这样按上下箭头时highlightindex的值加1或减1就可以表示选中的是哪个DIV了。

5)、判断如果按下的是回车键,分两种情况,如有高亮(即highlightindex!=-1)时,将高度显示的DIV的内容显示到输入框中,如无高度时,按下回车相当于点击搜索按钮。

6)、通过前几步,应该可以实现大部分功能,只是没有设置鼠标事件。如想响就应鼠标事件,可以在第3)步生成DIV后,添加鼠标事件:mouseover,mouseout,click,当鼠标移进时高亮显示,移出时将高亮显示的内容取消,点击时将点击的DIV内容显示到输入框中即可。

5、最后补充一点,为了减轻服务器的压力,适应一些快速打字的用户,在第4步3)中,可以通过setTimeout(函数,延迟毫秒数)设置延迟请求服务器,这样可以提高效率。

 

本篇涉及的代码在附件中。

分享到:
评论

相关推荐

    AJAX学习总结(九)---Jquery实例:仿googlesuggest自动补全功能

    在本篇博客“AJAX学习总结(九)---Jquery实例:仿googlesuggest自动补全功能”中,作者分享了如何使用jQuery实现一个类似Google Suggest的自动补全功能,这是一种常见的前端交互设计,广泛应用于搜索框输入时提供...

    jquery-ui-1.8.16

    jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-...

    jquery插件jquery-ui-1.8.2.custom.min.js

    Widgets是jQuery UI的核心,包括Accordion(手风琴效果)、Autocomplete(自动补全)、Dialog(对话框)等。Effects则提供了各种动画效果,如Fade(淡入淡出)、Slide(滑动)等。Position模块提供了元素相对定位的...

    jquery-migrate-1.2.1.js文件

    `jquery-migrate-1.2.1.js` 就是为了恢复这些已移除的功能,同时发出警告,提示开发者需要更新他们的代码。 **jQuery Migrate的工作原理** jQuery Migrate插件的核心在于它重新实现了那些被移除或更改的API,并在...

    jquery-ui-1.8.16.custom.min.js/jquery-ui-1.8.16.custom.css

    **jQuery UI** 是一个强大的JavaScript库,用于构建用户界面,它基于流行的jQuery库。这个压缩包包含两个关键文件:`jquery-ui-1.8.16.custom.min.js` 和 `jquery-ui-1.8.16.custom.css`,这些都是jQuery UI的特定...

    jquery.datepicker-zh-CN.js

    jquery datepicker 的中文包 调用方法 <script src="./public/js/jquery-ui-1.10.3.min.js"> <script src="./public/js/jquery.datepicker-zh-CN.js"></script> <link href="./public/css/jqueryui/jquery-ui-...

    jquery-ui-datepicker中文版

    jquery-ui-日期框扩展成时间框 jquery-ui时间框 基于别人的代码进行修改 jquery-ui-1.8.16.custom.css文件末尾加入以下代码 .ui-timepicker-div .ui-widget-header{ margin-bottom: 8px; } .ui-timepicker-div dl{ ...

    jquery.editable-select

    `jquery.editable-select` 就是建立在 jQuery 之上,因此在使用前需要确保页面中已经引入了 jQuery。 2. **选择器的增强**:在默认情况下,HTML `<select>` 元素的功能相对有限。`jquery.editable-select` 提供了一...

    jquery-1.6.4-vsdoc.js

    最新版jquery-1.6.4-vsdoc.js jQuery的VS智能提示插。压缩包内包含jquery-1.6.4.js jquery-1.6.4.min.js jquery-1.6.4-vsdoc.js 。 【推荐用法】 1、将jquery-1.6.4-vsdoc.js与jquery-1.6.4.js放在同一目录,然后...

    jquery-easyui-EDT-1.5.2-build1

    jquery-easyui-EDT-1.5.2-build1 jquery-easyui-EDT-1.5.2-build1

    jQuery版本迁移辅助插件jquery-migrate-1.2.1.min.js

    jQuery版本迁移辅助插件,如果您使用的低版本jQuery改为高版本后出现错误,可以试试这个插件。用来检测和恢复在jQuery1.9版本中已删除或已过时的API。jquery-migrate-1.2.1.js,jquery-migrate-1.2.1.min.js

    jquery-ui-1.11.2日期控件datepicker

    ${ctx}/plugins/jquery-ui-1.11.2/jquery-ui.css" > ${ctx}/plugins/jquery-ui-1.11.2/external/jquery/jquery.js"> ${ctx}/plugins/jquery-ui-1.11.2/jquery-ui.js"> ${ctx}/plugins/jquery-ui-1.11.2/jquery-ui-...

    Jquery智能提示完整全部版本vsdoc.js

    jquery-1.3.2-vsdoc.js jquery-1.8.3.min.js jquery-1.3.2.min.js jquery-1.4.1-vsdoc.js jquery-1.4.1.min.js jquery-1.4.2-vsdoc.js jquery-1.4.2.min.js jquery-1.4.3-vsdoc.js jquery-1.4.3.min.js ...

    jQuery插件---mcdropdow.(仿下拉框多层次)

    jQuery插件---mcdropdow.(仿下拉框多层次)jQuery插件---mcdropdow.(仿下拉框多层次)jQuery插件---mcdropdow.(仿下拉框多层次)jQuery插件---mcdropdow.(仿下拉框多层次)jQuery插件---mcdropdow.(仿下拉框多层次)

    jquery-migrate-3.0.0.zip

    这样,当jQuery运行时,jQuery Migrate会自动检测并修复不兼容的问题。 需要注意的是,虽然jQuery Migrate可以暂时解决兼容性问题,但它并不推荐作为长期解决方案。最佳实践是逐步升级和修改代码,以适应最新版本的...

    jquery-migrate-3.0.1.js jar包

    2. **警告提示**:当代码中使用到已经被废弃的函数或特性时,jQuery Migrate会在浏览器的控制台打印出警告信息,提醒开发者注意并进行相应的修改。 3. **性能优化**:虽然提供了兼容性修复,但jQuery Migrate也会尽...

    jquery-ui-1.10.3.min.js

    jquery-ui-1.10.3.min.js

    jquery-migrate-3.0.0.min.js+js+jquery+兼容

    jQuery-Migrate 是一个过渡插件让你在原来代码上升级 jQuery 不用修改代码。cdn:https://code.jquery.com/jquery-migrate-3.0.0.min.js

Global site tag (gtag.js) - Google Analytics