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;
        }
        
    });
});

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值