jquery.autocomplete 自动补全 应用
时间:2014-05-01 15:04:30
收藏:0
阅读:406
下拉自动补全的js控件还是很多的,不过好多都被集成在N多组件之一了,像Jquery.easyui,jquery.chonsen等等都可以实现类似的功能。但我想要的是是一款简单轻巧,应用于整个系统的js.
于是我选择了jquery.autocomplete.js,基本参数注解参考:http://www.cnblogs.com/EWall/archive/2011/04/28/2031613.html,JS及相关CSS可在google code下载,链接https://code.google.com/p/jquery-autocomplete/source/browse/
可以实现的功能,由于参数比较多,大概列举一下常用的功能:
1、自动补全,类似百度
2、控制显示多少条
3、CSS自由控制
4、支持各种格式数据源。数组、json等
5、实现单选、多选(默认逗号分开)。多选对json源支持不够完美,在鼠标点选时不能将目标数据选择至输入框中。其它数据源暂时没有发现问题。
6、支持扩展。如果你需要补全输入框值由上一级框值来限定,则会用到。比较你在级联国家、省份、城市时,需要在城市输入框实现补全时,可指定extraParams:{ name: encodeURIComponent($("#txtCountry").val()) }
7、支持返回值。有时需要返回ID,则可在页面添加一隐藏控件用于接收返回的ID值。
调用源码:
$("#" + this.txtComplete).autocomplete(ajaxUrl, { max: maxCount, delay: 300, matchContains: true, autoFill: false, mustMatch: true, extraParams: extraParams, dataType: ‘json‘, multiple: isMultipled, parse: function (res) { return $.map(res, function (row) { return { data: row, value: row.id == undefined ? row.name : row.id, result: row.name } }); }, formatItem: function (row) { return row.name; }, formatResult: function (row) { row.name.replace(/(<.+?>)/gi, ‘‘); } }).result(function (e, item) { if (item == undefined) return; $("#" + txtHid).val(item.id != undefined ? item.id + ‘|‘ + item.name : item.name); } );
相关截图:
评论(0)