`
yanghaoli
  • 浏览: 291358 次
社区版块
存档分类
最新评论

jQuery 插件autocomplete 应用(模拟的下拉菜单)

 
阅读更多

官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

今天研究了下这个玩意,可生成模拟的下拉菜单。

从官网下载一个完整包

其中要实现下拉菜单需要引入必要的文件三个

<script type="text/javascript" src="lib/jquery.js"></script>
<script type="text/javascript" src="jquery.autocomplete.js"></script>
<link href="jquery.autocomplete.css" rel="stylesheet" type="text/css" />

在html页面BODY标签中插入一个文本框,设置id为tags

<label>本地数据:</label><input style="width:300px; height:30px;" id="tags" type="text" /><br /><br />

然后就可以开始写具体代码了,

$("#tags").autocomplete(data,[config]);//数据和配置,如配置省略则采用默认配置

今天研究出来两种,

例子1:简单模式,数据为本地数组类型

$(document).ready(function(){var arr=["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "pearl"];
    $("#tags").autocomplete(arr, {
        minChars: 0,//开始显示时输入的最少字符个数
        max: 12,//显示的数据条数
        autoFill: true,//文本框中自动填充好与之匹配的第一个值
        mustMatch: true,//输入值与数据没有匹配的则清空文本框
        matchContains: true,//从头开始匹配还是要在字符串内部查看匹配false为从开头匹配
        scrollHeight: 220,//高度达到多少时开始有滚动条
        highlight: false,//高亮关键字
        width: 320,//宽度
    });
});

例子2:数据为本地JSON类型

$(document).ready(function(){
    var json=[
    { name: "Peter Pan", to: "peter@pan.de" },
    { name: "Molly", to: "molly@yahoo.com" },
    { name: "Forneria Marconi", to: "live@japan.jp" },
    { name: "Master <em>Sync</em>", to: "205bw@samsung.com" },
    { name: "Dr. <strong>Tech</strong> de Log", to: "g15@logitech.com" },
    { name: "Don Corleone", to: "don@vegas.com" },
    { name: "Mc Chick", to: "info@donalds.org" },
    { name: "Donnie Darko", to: "dd@timeshift.info" },
    { name: "Quake The Net", to: "webmaster@quakenet.org" },
    { name: "Dr. Write", to: "write@writable.com" }
];
    $("#tags").autocomplete(json, {
        minChars: 0,//开始显示时输入的最少字符个数
        max: 12,//显示的数据条数
        autoFill: true,//文本框中自动填充好与之匹配的第一个值
        mustMatch: true,//输入值与数据没有匹配的则清空文本框
        matchContains: true,//从头开始匹配还是要在字符串内部查看匹配false为从开头匹配
        scrollHeight: 220,//高度达到多少时开始有滚动条
        highlight: false,//高亮关键字

        //multipleSeparator: " ",//一个文本框中要写入多个词时用来分割词的字符
        //multiple: true,//是否允输入多个值,这个为true上面的这个属性才能生效
 
        width: 320,//宽度

        formatItem: function(row) {//这里有三个参数 row, i, max 在调用json值时相当于循环输出每行json的值, i是当前的索引号,max是最大数据条数,不过我这里只用了一个参数 
            return row.to+':'+row.name;
        },
        formatResult: function(row) {//最终点击确定时输入在文本框中的值
        return row.to;
        }
        
    });
});

对于远程获取数据的还没研究出来,也求高手赐教。

 

分享到:
评论

相关推荐

    jquery UI插件

    4. **下拉菜单(Autocomplete)**:自动完成输入框,可以根据用户输入的内容动态过滤并显示匹配项,提高用户输入效率。 5. **拖放(Draggable/Droppable)**:使元素具备拖动和放置的能力,常用于创建可自定义布局...

    经典jquery案例 经典jquery

    jQuery有多种插件可以实现这一功能,如jQuery UI的Autocomplete组件。通过监听输入事件,结合Ajax向服务器请求匹配数据,然后动态生成并展示下拉选项。 最后,"div实现jquery动态滑动效果"是jQuery动画效果的典型...

    jquery的几个例子程序

    在这个示例中,jQuery被用来实现动态的下拉菜单。通过监听鼠标悬停事件,`hover()`方法可以帮助创建响应式导航菜单,当鼠标移到菜单项上时,子菜单会滑出,离开时则隐藏。这提高了网站的用户体验,使导航更加直观。...

    JQuery-ui及插件.rar

    - **Selectmenu**: 将HTML的选择框转换为更美观的下拉菜单。 - **Buttons**: 创建各种按钮样式,如复选按钮、单选按钮和分页按钮。 - **Colorpicker**: 更高级的颜色选择器,支持颜色预览和多种颜色模式。 - **...

    jQuery UI工具风格主题.rar

    6. **菜单(Menu)**:创建下拉式或级联式菜单,用于导航或操作选项。 7. **按钮(Button)**:将HTML元素转换为各种类型的按钮,如普通按钮、复选按钮、单选按钮等。 8. **自动完成(Autocomplete)**:为输入框提供...

    jquery特效

    3. 导航菜单:jQuery可以轻松实现下拉菜单、多级菜单,以及响应式菜单,适应不同屏幕尺寸。 4. 图片懒加载:通过延迟加载远离视口的图片,提高页面加载速度,如Lazy Load插件。 5. 弹出框和模态窗口:例如jQuery ...

    Jquery ui Demo和中文帮助文档

    6. **下拉菜单(Autocomplete)**:自动完成输入,根据用户输入的字符提供匹配的建议列表。 7. **按钮(Buttons)**:将普通HTML元素转化为各种风格的按钮。 8. **效果(Effects)**:包括淡入淡出、滑动等动画效果...

    强大的javascript特效

    8. 下拉菜单:创建响应式和交互式的下拉菜单,常用于导航栏,可以使用纯JS或库如jQuery。 9. 表单验证:在提交前检查输入的有效性,如邮箱格式、密码强度等,可以使用原生的form验证或自定义函数。 10. 模仿CSS3...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和...

    ExtAspNet_v2.3.2_dll

    -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和...

Global site tag (gtag.js) - Google Analytics