我使用
jquery-ui实现了自动完成功能.我想将显示的项目数量限制为10,每个项目自定义格式化.这是代码
$("#text1").autocomplete({ minLength: 2,source: function (request,response) { var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term),"i"),results = []; $.each(source,function (i,value) { if (matcher.test(value.value) && $.inArray(value.label,results) < 0) { results.push(value.label); } }); response(results); } }).data("autocomplete") ._renderMenu = function(ul,items) { var self = this; $.each(items,function (index,item) { if (index < 10) { $.ui.autocomplete.prototype._renderItem = function(ul,item) { var re = new RegExp("^" + this.term,"i"); var t = item.label.replace(re,"<span style='font-weight:bold;color: Blue;'>" + "$&" + "</span>"); var listItem = $("<li></li>") .data("item.autocomplete",item) .append("<a>" + t + "</a>") .appendTo(ul); return listItem; } } }); };
这似乎不起作用,因为它没有抛出任何结果.对此有何帮助?
解决方法
我想到了.似乎我必须覆盖_renderMenu和_renderItem.它现在有效.