jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
(编辑:jimmy 日期: 2024/11/28 浏览:3 次 )
本文实例讲述了jquery UI实现autocomplete在获取焦点时得到显示列表功能。分享给大家供大家参考,具体如下:
在做项目的时候,客户有这样的需求,将以前输入过的内容,在某个文本框上用列表的形式提示出来,可以选择,换言之,就如同我们用谷歌搜索,或者百度搜索一样,输入一些关键词,会自动提示,这个功能就叫autocomplete. 当然在 jquery UI 下有 插件,具体下载的地方,搜索就知道了。重点是,我现在的用法,是需要在文本框获取焦点的时候,就弹出待选择的列表。而传统的是必须在输入文字之后才出现。经过发现,jquery ui autocomplete 用如下方法可以实现
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI Autocomplete - Categories</title> <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css" rel="external nofollow" > <script src="/UploadFiles/2021-04-02/jquery-1.9.1.js">代码来源于官网例子,稍稍改动了一下,但貌似在IE 下有点问题,选择某个选项之后,这个列表框不消失,还一直存在,比较郁闷。
在google 上搜索了一下,发现了一篇文章,也讲到了这个问题。后来用如下方法解决,不过是失去焦点的方式做的。
function dynamicAutocomplete(){ $("#search").autocomplete({ minLength: 0, source: data, focus :function () { return false; }, select: function(event, ui){ $this = $(this); setTimeout(function () { $this.blur(); }, 1); } }).focus(function(){ $(this).autocomplete("search"); return false; } ); };在ie 下面用了
timeout
来解决,在网上看到很多人说,在focus
方法中return false
就可以解决,但我就是没有测试成功.更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery页面元素操作技巧汇总》、《jQuery常见事件用法与技巧总结》、《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
下一篇:IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法